Cookie(クッキー)とは

Cookie(クッキー)とは、ウェブの閲覧者がブラウザを利用し、ウェブサイトにアクセスした際にウェブサーバーからブラウザに送信されるテキストデータのことです。長くて言いにくいですがHTTP Cookie(エイチティティピークッキー)とも言います。

このCookie(クッキー)と呼ばれるテキストデータにユーザーがウェブサイトにアクセスした際の情報を保存しておくことで、ウェブサイトに再度アクセスする際に、パスワード入力の省略や訪問者が優先して利用する言語(日本語や英語など)情報、利用者の現在地の特定などを保存することで訪問者の利便性を向上させる技術として利用されています。

訪問者が、再度、ウェブサイドにアクセスする際には、ブラウザからウェブサーバーに対してCookie(クッキー)が送信されます。ウェブサーバーは送信されてくるCookie(クッキー)を読み取ることで、ユーザー認証の省略や買い物かごの中身の維持管理を行うなど、ウェブサイトを訪れるユーザーに便利な機能として、表立っては見えない技術ですがウェブブラウザの世界では半ば常識であるかの如く広く利用されています。

Cookie(クッキー)の仕組み

Cookie(クッキー)はテキストデータと前述しましたが、Cookie(クッキー)のつくり方にはルールが定められていて、1997年にRFC2109で初めて標準化されました。その後、2000年にRFC2965、2011年にRFC6265として更新されています。

ウェブサーバーからブラウザに格納し、ブラウザからウェブサーバーにCookie(クッキー)を送る仕組みは次の通りです。

ウェブサーバー>>>ブラウザに格納

Set-Cookie: SID=XXX…; Path=/; Domain=hoge.com

ブラウザ>>>ウェブサーバーに送信

Cookie: SID=XXX…;

※SIDの部分に記載している“XXX…”は任意の英数字に置き換えられます。

Cookie(クッキー)でセットできる値は、name, value, max-age, expires, domain, path, secure, httponlyなどの他、Cookie(クッキー)の有効期限などをセットすることができます。

因みにCookie(クッキー)に有効期限は、ブラウザの日付が処理できなくなる問題がある為に、有効期限の最長は2038年までしか設定することができません。そもそもCookie(クッキー)は一定期間の情報を保存する目的でつくられている為、期限の設定を無くし無期限に設定することや、長期間の設定を行うことは避けるべきでしょう。

Cookie(クッキー)とよく似た技術

Cookie(クッキー)とよく似た技術にCache(キャッシュ)がありますが、用途が異なります。Cache(キャッシュ)は、ウェブサイトを訪れるユーザーが快適に利用できるようブラウザによるコンテンツの読み込み速度を向上させることを目的とした技術です。

容量の大きい画像などを一時的にローカルの特定のフォルダ内に保存し、ウェブサイトにアクセスする際には、ネット越しに画像をダウンロードせずにローカルから画像を読み込み表示します。また、同じキャッシュでも、CDN(コンテンツデリバリーネットワーク 英: content delivery network)と呼ばれるインターネット上のより近い場所にコンテンツを配置して読み込み速度を向上させる技術もあります。

Cookie(クッキー)の種類

Cookie(クッキー)を大きく分けると「1st party Cookie」と「3rd party Cookie」に分けることができます。

「1st party Cookie」は、ウェブサイトの訪問者がアクセスしているドメインが直接発行し、直接管理しているCookie(クッキー)でのことです。

ドメインとは、https://www.appswingby.com/ の赤字の部分です。1st party Cookie は、Cookie(クッキー)の発行者が一目瞭然、わかりやすいのが特長です。

もうひとつのCookie(クッキー)である「3rd party Cookie」は、その名の通り、訪問しているウェブサイトドメイン以外から発行されているCookie(クッキー)のことです。バナー広告などドメインを跨いだ用途に多く利用されていますが、プライバシーに関する問題があると指摘されています。

Cookieを廃止したいGoogle。プライバシーの問題があると指摘されるCookie(クッキー)とは? #2