#記事の対象者
誰のために⇨cookieとsessionの理解が十分でない方.
何を⇨cookieとsessionの仕組み
記事を書いている私の紹介⇨現在webの知識を勉強して7ヶ月ほど経過しました。そこで今まで私はかなりcookieとsessionの理解は、cookieはログインするために必要でsessionはログインを維持するものだろうって感じやろってフワッと解釈していました。そこで具体的に学んだ結果理解が深まったので記事にさせていただきます。
cookieとは
⇨個人情報が入っている箱のイメージです.
個人情報の例ユーザーidやsession_idなど個人を特定するための情報.
session_idとは個人を特定するためのものぐらいの認識でオッケー.
誰からもらうの?.
⇨サーバー.
どこにcookieはあるの?.
⇨ブラウザーの中(safariやgoogle chromeの中).
cookieはいつもらえるの?.
⇨ログイン前やログイン後.
cookieはなぜ必要なの?.
⇨ログイン状態を保つため.
どういう時にcookieを使うの.
⇨webサーバーに何かしたのリクエストを送る時に使う.
リクエストの例会員情報見せてなど.
図にするとこんな感じ.
1回目アクセス時にユーザーの情報をwebサーバーの中に保存するとともにcookieを作成しcookieの中にもユーザーの情報などを保存しユーザーにcookieを渡す.
また別の方法でブラウザー側にcookieを渡す方法としてjavascript使用しユーザーがhtmlを読み込んだ時点でブラウザーがcookieを持っている状態にすることも
できるみたいです.
sessionとは
⇨サーバーが持っている「さっきアクセスしてきた奴リスト」のこと.
さっきアクセスしてきたやつとは「過去にcookieを渡したことあるブラウザー」.
いつこのリストが作られるのか?.
⇨cookieが作られたとき.
sessionはなぜ必要?
⇨個人を特定するため.
sessionはどのように使われるのか?.
⇨今アクセスしてきたユーザーのユーザー情報がさっきアクセスしてきた奴リストの中にあるかどうかをチェックする.
ある場合.
⇨そのユーザーのリクエストに対してのレスポンスを返す.
ない場合.
⇨ログインしてと促す.
疑問
疑問1,じゃあ一回ログインすると永久的にログインしていることになりログインし直す必要はなくなるの?だってログインしている状態を保つには、ブラウザー のcookie情報とwebサーバーの中のさっきアクセスしてきた奴リストの中のcookieの情報が同じだったらログイン状態を保つ、何回アクセスしてもブラウザーのcookieの情報とwebサーバーのリストの中の情報が同じだから、つまり永遠にログイン状態なんちゃん?
⇨長期間ログイン状態を保つことは可能で、ログインし直す必要があるときは、以下の時.
①自らログアウトした時
⇨webブラウザーのさっきアクセスしてきた奴リストの中の自分を特定する情報が削除される=
次回アクセスしてきた時webサーバーはあんた誰的な状態になり再度ログインするよう促す.
②ブラウザー内のcookieの有効期限が切れた時.
⇨ブラウザー内でcookieの有効期限が切れるとwebサーバー内のさっきアクセスしてきた奴リストの中の個人を特定するための情報も削除されるので、結果再度ログインが必要