「ステートレス」と「ステートフル」という言葉が出てきたのでまとめておく。
ステートレス
ステートレスとは、サーバがクライアントのセッション状態を保持しないこと。つまり、前に行ったやり取りの内容を覚えていない。
ここでセッションとは、クライアントとサーバ間での接続から切断までの一連の操作のこと。
HTTPはステートレスであり、リクエストとレスポンスの1往復のやり取りが完結した、1つの処理としてみなされる。そのため、複数の処理を関連付けることができない。
■ メリット
・サーバ側の設計がシンプルになる。
■ デメリット
・やり取りを行うデータ量が多くなる。
ステートフル
ステートフルとは、サーバがクライアントのセッション状態を保持していること。つまり、前に行ったやり取りの内容を覚えている。
以前の処理を覚えているため、次の処理でその内容を反映させることができる。
■ メリット
・データのやり取りが簡潔でデータ量が少なくなる。
■ デメリット
・クライアントが増えると負荷が重くなる。
・サーバが複数台ある場合、サーバー間でクライアントの状態を同期する必要がある。