Cookieってなに?(プログラミング初心者による初心者への説明)
Cookieとは?
今回は、美味しいあのクッキーではなく
「プログラミング」で使う「Cookie」について説明します。
ちなみに私のNo1クッキーは「Mr.イトー」のチョコチップクッキーです。
しっかりシナモンが効いて美味しい!
Cookieは少量のデータをクライアント側(WEBを見ているPC)に
保存する仕組みです。
保存できるデータ
・サイズ:8KBほど(文字に直すと8,000文字程度)
・任意の文字列を保存できます
(細かくは、ブラウザによって違います。)
*私が、Cookieを含むWEBプログラミングについて学んでいるのはウェブカツ👇
Cookieを理解することは、WEB製作においてとても大切。
利用してくださる方々の安全にも関わります。
そんな、Cookieについてまとめてみました。
Cookieの送受信
cookieの基本はオウム返しです。
私が、無農薬販売サイト「ウェブカツ」を見ていたとして説明しましょう。
(ざっくり簡単に説明します)
*実際のウェブカツはプログラミング学習サイトです。
私が、PCで「ウェブカツ」という無農薬販売サイトを見て、
トマトを買い物かごに入れると・・・
①サーバーサイドで設定されたPHPのプログラムにより
setcookie関数により、Cookieを設定 → setcookie(”名称”,”値”);
今回は、setcookie("order","トマト");
②Set-cookie: 名称=値 という情報がHTTPのヘッダとして付け加えられる
今回は、Set-cookie : order = トマト
③もう一度私が「ウェブカツ」のページにアクセスすると
Set-cookie : order = トマト この情報がHTTPにくっついてアクセスされます。
④「ウェブカツ」のプログラムはcookieヘッダを見る事で
前回のアクセス情報がわかる。
これを同じ「ウェブカツ」のプログラム内で共有できます。
という流れになっています。
この流れをもっと詳しく知りたい方はウェブカツをのぞいてみてくださいね。
ウェブカツでは、講師のかずきちさんがイラストを使って
さらに詳しく、分かりやすく説明してくださいます。
Cookieのオプションパラメータ
expires:有効期限を特定の日時に設定する
有効期限を過去の日時に設定する事でCookieを無効にできる
max-age:有効期限を経過時間などで設定する
(3時間後など)
マイナス(ー)の値でCookieを無効にできる
path:Cookieが有効なパスを指定する
secure:SSLによる暗号化が有効な時だけ送信する
HttpOnly:HTTPによるやりとりしかできないようにする
(javaScriptからは見えないようにする=不正な書き換えなどの防止)
*パラメータ、パスなどプログラミングには
聞きなれない言葉がたくさん出てきますよね。
それらもウェブカツなら楽しく、分かりやすく学習できます!
Cookieの問題点
Cookieは単純な仕組みです。
単純な仕組みだから起こり得る問題点をまとめます。
ウェブカツでプログラミングを学び
これからWEBサービスを作るにあたり、気をつけなければならないことでもあります。
・のぞき見られる可能性がある
→SSLで暗号化できる時だけCookieの送受信を可能にする
前述のパラメータ「secure」を使う
・偽装される可能性がある
→クライアントのPC内に保存されているので書き換えられる可能性がある
・Cookieがオフに設定されていることもある
→ブラウザの設定によりCookieがオフになっていることもある
ショッピングサイトの買い物かご機能に商品を入れることができない
という状況も起こり得ます
私は「ウェブカツ女性割引」でお得にプログラミングを学んでいます。
女性割引は、プログラミングが女性の職業として適している。
という、かずきちさんの考えを元に学びやすく受講料を抑え受講できるシステムです。
そんなかずきちさんの、プログラミング教育に対する熱い想いを含めて
ウェブカツには、無料で体験できる期間もあります。
ぜひ一度サイトをのぞいてみてくださいね。
前回の記事はコチラ👇