『プロになるためのWeb技術入門』の重要箇所をまとめた--Lesson4

皆様こんにちは、もしくははじめまして。IDEです。
今日の記事はLesson4についてです。
この章では、Webアプリケーションの基本的な仕組みであるCookieとセッションをメインに学習しました。
書籍はこちらから。

クライアント・サーバー間の情報のやり取りの仕組みについて、正しく理解していくよう勉強します。

目次

  1. ログイン状態をどのように記憶するのか?
  2. Cookieについて
  3. まとめ
  4. 参考文献

ログイン状態をどのように記憶するのか?

Webアプリケーションでは、ログイン状態の有無によってアクセス権限をチェックしなければいけません。
しかしHTTPでは、ログインしているか否かの「状態」を持つことができません。

 ステートフル・プロトコル   ステートレス・プロトコル 
FTP HTTP
リクエストによって状態が変わる
手順を踏まないとコマンドを受け入れない
1回のリクエストだけでURLのリソースを取得する

しかし、インターネット上の通信のやり取りはHTTPが最も使われているプロトコルだというのは、前章でも学んできました。
「状態」を持たないHTTPで、どのようにログイン等の機能を使えるのでしょうか?
それは、HTTPと一緒にCookieを使っていくことで解決します。


Cookieについて

Cookieについて、ログインをする流れをもとに学習していきます。

  1. リクエスト GETのパラメーターの中にユーザー名等の情報がCookieの形で送られる
  2. レスポンス user等の情報を送り返す
  3. リクエスト ログアウトをする
  4. レスポンス 送ったCookieを取り消す
  5. リクエスト ログインせず直接URL入力で閲覧者が限定されているURLに遷移する
  6. レスポンス 遷移することができない(ログインページにいく)

これでHTTPを使ってログインができました。
しかし、Cookieにはまだ問題があります。
メッセージボディにCookieの情報が見れるため、セキュリティの観点からすると非常に問題があります。
そこでCookieと使っていくものがセッションです。
セッションは、セッションIDでやりとりをすることで情報を照らし合わせ、取得するものです。
IDである数字のみのやり取りのため、万が一漏れてもCookieに情報そのものを入れるより安全性が高いと言えます。

Cookieに格納したもの 情報 セッションIDのみ
情報量の制限 気になる 気にならない
安全性 激低 比較的高め

Cookieについては、こちらにさらに詳しく載っています。
わかりやすい記事なので私も非常に参考になりました。


まとめ

今回は、基礎の基礎であるCookieとセッションを学んでいきました。
セキュリティ対策について今回学んだ内容を踏まえ、しっかりと復習をして土台作りをしていきたいと思います。
最後までお付き合いいただいた方、ありがとうございました。


参考文献

今回、下記の記事も参考にいたしました。
cookie(クッキー)の意味と使い方をわかりやすく解説!企業側もマーケティングに大活躍!?