HTTPはステートレス
なプロトコルであるため、特定のWebクライアントとそのクライアントから送信される複数のHTTP通信を関連づけることができない。
Cookie
とはWebサーバーがWebクライアントに預けておく固有のデータのことで、このデータを用いてWebサーバーはWebクライアントを識別することができる。
Cookieの送信にはメッセージヘッダーが使用される。初回のHTTPレスポンス時にメッセージヘッダーに「Set-Cookie」ヘッダー
を含めることによって、CookieをWebクライアントに送信する。
逆に、WebクライアントはHTTPリクエスト時にメッセージヘッダーに「Cookie」ヘッダー
を含めることによって、CookieをWebサーバーに送信する。
セッションCookie
とは有効期限が設定されていないCookieのこと。Webブラウザを閉じるとCookieが削除され、WebサーバーはWebクライアントを識別できなくなる。
有効期限が設定されたCookieはWebブラウザを閉じてもCookieが削除されない。セキュリティの観点から有効期限が設定されたCookieの使い所は慎重に選ばなければならない。