わかっているようで曖昧だったCookieについて改めて学習しなおしたことを備忘録として書いていきます。
私と同じような境遇の方の参考になればと思います。
Cookieとは
CookieとはWebサイトがユーザーの情報を一時的に保存するときに用いられるデータのことです。
HTTPはステートレスなプロトコルなのでCookieがなければユーザーのログイン情報などを保存した状態で通信できません。
ここで使われるのがCookieです。
Cookieのやり取り
WebブラウザがWebサーバーにHTTPリクエストを送った時に当然ですがWebサーバーはHTTPレスポンスを返します。
この時WebサーバーはHHTPレスポンスにCookieを含めて返します。このレスポンスを受け取ったWebブラウザは次回からのHTTPリクエストの受け取ったCookieの情報を載せて送信します。
こうすることでHTTPでもユーザーのログイン情報などを保存したままやりとりすることが可能となります。
Cookieはメッセージヘッダーに含めて送信する
HTTPリクエスト、HTTPレスポンスは3つに分けられます。
・リクエスト行(HTTPレスポンスではステータス行)
・メッセージヘッダー
・メッセージボディ
の3つです。
Cookieはこのメッセージヘッダーに含めて送信します。
WebサーバーはHTTPレスポンスに「Set-Cookie」ヘッダーを含めて送信し、Webブラウザは「Cookie」ヘッダーを含めて送信します。