Q:
ステートレスアプリケーションの長所と短所は何ですか?
A:ユーザーインターフェイスの基本設計では、エンジニアはステートレスシステムまたはステートフルシステムから選択できます。 ステートレスシステムとは、セッション間で情報を保存するために使用される常駐メモリがないシステムです。 一方、ステートフルシステムは、入力を常駐メモリに入れ、将来の操作のために入力を保存します。
ステートレスアプリケーションの最も良い例の1つは、インターネットサイトおよびページの実行に使用されるHTMLアプリケーションです。 これらのアプリケーションは、ユーザーがサイトを離れた後、ユーザーまたはユーザーアクティビティに関する情報を保持および保存しないため、ステートレスです。
その結果、WebページはCookieと呼ばれる小さなデジタルファイルに依存してユーザー情報を保存します。 Cookieは、システムにアクセスしているユーザーと過去に何をしたかを判断するために、今後のセッションで積極的に使用されます。
ステートレスアプリケーションの最大の利点のいくつかは、保守側が常駐メモリを管理する責任を負わないことです。 ステートレスアプリケーションは、同様のステートフルアプリケーションよりも低コストです。 また、データを取り込んで手元に置いておいて、後で使用するために記録する必要がないため、それほど複雑ではありません。 すべてのセッションは真新しく、同じプログラミングが行われます。
ステートレスアプリケーションの欠点は、前述のように、特定のユーザーセッションに関する情報を保持しないことです。 この問題は、インターネット上のユーザーセッション情報を処理するCookieの設計で明らかです。 一般的に、Cookieの使用は、インメモリシステムよりも効率が劣ります。 ウェブマスターには、Cookieを操作および維持する責任があります。 したがって、ステートレスシステムは本質的に能力が劣ります。 特定のセッション情報が保存されていないことは、ユーザーにとって煩わしいかもしれません。 顧客は、ステートフル機能が価値を高めると感じるかもしれません。
最終的に、ステートレス設計を選択するかステートフル設計を選択するかは、ソフトウェア自体の特定の用途に依存します。 たとえば、公共のキオスクシステムは、ステートレステクノロジーから多大な利益を得ることができます。 多くのパブリックユーザーがシステムを順番に処理するため、セッション間でデータを保持する必要はほとんどありません。 よりパーソナライズされたシステムの場合、ステートフル設計により、多くの利便性と必要な機能を追加できます。
