BeCrazyBeCrazyメニューTopHTTPの基本はステートレスなプロトコルです。ステートレスとは、State(状態)・Less(ない/少ない)という意味で、状態を保つことができないという意味です。状態を保つために使われるのがCookieです。Cookieは任意のサイトの初回アクセス時などにサーバーから送信され、小さな情報を保存する指示が来ます。ブラウザでは指示されたCookie情報を保存します。別のタイミングで同じサイトにアクセスした際に、保存されたCookieはサイトのサーバーに毎回送信されます。サーバーはブラウザにて保存されたCookieを受け取り、その情報を扱うことができます。CookieとはTOPHTTPCookieとは1年以内に更新されました。2019年03月24日HTTPの基本はステートレスなプロトコルです。ステートレスとは、State(状態)・Less(ない/少ない)という意味で、状態を保つことができないという意味です。状態を保つために使われるのがCookieです。Cookieは任意のサイトの初回アクセス時などにサーバーから送信され、小さな情報を保存する指示が来ます。ブラウザでは指示されたCookie情報を保存します。別のタイミングで同じサイトにアクセスした際に、保存されたCookieはサイトのサーバーに毎回送信されます。サーバーはブラウザにて保存されたCookieを受け取り、その情報を扱うことができます。Cookieの主な仕様Cookieとして1つのデータに付き約4KBまで保存可能Expiresという有効期限を属性として付与可能ドメインやパスレベルでのCookieの有効範囲を指定可能Secure属性を付与することにより、HTTPSアクセスのみ有効な設定が可能HttpOnly属性により、JavaScriptからのCookieへのアクセスを無効にする他にも実験的に使用されている属性などがありますが、今回は省略します。Cookieの流れ上記の画像で説明します。クライアントはCookieを持っていない場合は通常のHTTPリクエストを送ります。次にサーバーのレスポンス時にCookieをセットするように指示を出します。これはHTTPヘッダー部分に情報があり、その情報を元にクライアントはCookieを保存します。Cookieが保存されているクライアントでは、Cookieを、リクエストと同時に毎回サーバーに送ります。サーバーはこのCookieを利用してそのクライアント独自の情報を扱うことができるという仕組みです。Cookieの主な利用方法Cookie自体はkey-value形式の名前と値を含んだ形で保存されます。Cookieだけを利用しようとすると、以下のような問題があります。Cookie1つにつき、名前と値を含めて約4KBまでしか保存できないCookie自体はクライアント(ブラウザ)に保存されるため、クライアント側で値を変更できてしまう上記のような問題のため、セッションidを保存するために利用される機会が多いです。セッションに関してはセッションとはを参照してください。まとめCookieに付いて基本的な内容を解説しました。基本的にはセッション情報の保存に利用される場合がほとんどで、それ以外の場合はクライアント側で変更可能・4KBまでという制限上あまり扱われません。WEBアプリケーションでログイン情報などを扱う際にもCookieに保存されたセッションidなどが利用されるため、重要な機能の一つですが、プログラミングをしていて直接Cookieを扱う機会は少なくなってきています。HTTP前の記事HTTPのPOSTメソッド次の記事セッションとは。