曖昧はチカラなり

曖昧はチカラなり

曖昧なことを曖昧じゃなくすことを目的にしました。

Amebaでブログを始めよう!

分かったつもりでわかってなかったシリーズ。

自信をもって説明できなかったので、自分なりに調べました。

 

  ・httpはステートレス

  ・ステートレスは、クライアント⇔サーバのやり取りをいちいち覚えていない

 

    (例)

       Aさんがお買いものサイトでカートに商品を入れる

       ↓

       別の商品を探しに、サイト内をうろうろ

       ↓

       その時点で、カートにいれた商品はなくなっている。(悲しい)

      

 

これは、「①カートに商品をいれた人」と「②商品を探している人」が

同一人物であると、サーバくんが判断できないため。

 

そこで、登場するのが「クッキー」という仕組み。

 

  ・ブラウザで操作した内容をクッキーに保存

  ・サーバからWebページ要求時に、クッキーの情報も一緒に送ることで

   情報を引き継ぐことが可能になる。

 

    (例)

       Aさんがお買いものサイトでカートに商品を入れる

       ↓

       別の商品を探しに、サイト内をうろうろ

       (ブラウザの裏では、カートに入れた商品を持っているので安心)

       ↓

       カートにいれた商品はそのまま残っている(嬉しいい)

 

 

ただし、ここで問題あり。

クッキーはブラウザに持つ情報なので、中身の改変ができてしまう・・・。

クッキーの保持期間によっては、ブラウザのクッキーの残りで悪いこともできてしまう・・・

(例えば、ログイン情報のIDとパスワードとか。残っているとまずいもの)

 

そのため、次に登場するのが「セッション管理」という仕組み。

 

  ・初回アクセス時に、サーバがクライアントにセッションIDを発行する。クッキーにセッションIDを保持してもらう。

  ・2回目以降のアクセス時にも、クッキーに設定されたセッションIDをサーバーに送る。

  ・サーバー側では、セッションIDでクライアントを判別可能。

  ・また、サーバー側でセッションIDにひもづけてデータを管理すれば、サーバーの内容なので変更不可能。(安全)

 

 

うーん。

文章に起こすと説明って難しいなぁ。