読書会でまとめたものになります

Chapter3 HTTPでやりとりする仕組み(13〜COLUMN)

HTTPSはステートレス(サーバがクライアントのセッションの状態を保持しない、という制約)なプロトコルであるため、WebブラウザとWebサーバーの一連のやりとりにおいて、状態を維持し管理する仕組みがない。
そのため、ショッピングサイトなどで状態を保持し管理する必要がある場合にはCookieと呼ばれるデータが用いられる。
 

13.Cookie(クッキー)〜ステートレスで状態を維持する仕組み〜

Cookieのやりとり
Webサーバーへ接続してきたWebブラウザに対して、コンテンツなどと一緒にWebブラウザに保存してもらいたい情報をCookieとして送る。
例:ショッピングサイト)
①接続してきたWebブラウザを識別するための情報をCookieとして送る
Cookieを受け取ったWebブラウザはそれを保存しておく
③(次にWebサーバーに接続する際に)保存しておいたCookieを送信する
④Webサーバーは接続してきた相手を識別できる
 
メッセージヘッダーの利用
Cookieの送信にはメッセージヘッダーが利用される。
「Set-Cookie」ヘッダー:オプションでCookieの有効期限を設定したり、またHTTPSのみ利用してCookieを送信する設定をしたりできる
 
WebサーバーはHTTPレスポンスに「Set-Cookie」ヘッダーを含めることで送信できる。
WebブラウザはHTTPリクエストにCookie」ヘッダーを含めることで送信できる。
 
セッションCookie
セッションCookie有効期間が設定されていないCookieWebブラウザが閉じられると同時に削除される。
          セキュリティ上の観点からショッピングサイトなどで使われる。
有効期間が設定されているCookieWebブラウザを閉じても削除されない。有効期限が来るまでWebブラウザ上に残る。

14.セッション〜一連の処理の流れを管理する〜
セッションWebブラウザとWebサーバーのやりとりにおいて、一連の関連性のある処理の流れ。
例:ショッピングサイト)
①商品を選ぶ
②買い物カゴに入れる
③カゴの中身を確認する
④商品を購入する
 
セッションの管理
Webサーバーへのアクセスは1台のWebブラウザだけではなく、多数のWebブラウザから行われる。
あるWebブラウザからの処理を関連性のある一連の処理(=セッション)として扱いたい場合は、Cookieを用いてセッションを管理できる。
セッションID:セッション管理においてWebブラウザを識別するための情報
 
セッションIDのやりとり
Cookieを用いる方法が一般的。
 
15.URI〜あらゆるリソースを識別する記述方法〜
URI:(Uniform Resource Identifier)。情報やデータといったリソースを識別するための記述方法。コンピューターが扱うリソースに限らず、人や会社、書籍など、あらゆるリソースを示すことができる
URL:(Uniform Resource Locator)。リソースが存在する場所と取得する方法を示すもの。Webサイトの場所を示す際に使われる
URN:(Uniform Resource Name)。場所は問わずにリソースの名前を示すもの。刊行された書籍を一意に特定し識別するためのISBNコードなどを使ってURNを特定可能
 
リクエスURI
HTTPにおいても、リソースを特定するためにURIが利用されている。
HTTPリクエストの場合、URIはリクエスト行のメソッドに続いて記述され、「リクエスURI」とも呼ばれる。
絶対URI形式URIをすべて含める
相対URI形式URIの一部を含める
 
パーセントエンコーディング
パーセントエンコーディング:予約文字(ユーザーが使用できない文字列。#など)でも非予約文字でもない文字をURIで利用する場合に用いる変換方法。例)半角スペースは「%20」
 
COLUMN WEBサイトの「HTTPS」化がとまらない?
近年、HTTPSを導入しているWebサイトが増えてきた。
従来→ショッッピングサイト、フォームなどで個人情報を送信する企業サイト の一部の重要ページくらい
近年→Webサイト全体をHTTPSで「常時SSL」化しているWebサイトが増加
なぜ?
利用者の接続環境の変化
Wi-Fi無線LAN)に対応したスマートフォンなどの普及により、カフェや公共施設に設置されたWi-Fi環境からの接続が増えてきた。
Wi-Fi環境は便利な反面、セキュリティ対策が万全ではないところが多いため、Webサイトの運営側とすればHTTPSを導入することで利用者に安全性や信頼性をアピールできる。
Webサービスを提供する各社もHTTPSを推進している。
GoogleHTTPSを導入しているWebサイトの検索順位を優遇。将来的には全てのHTTPページに警告を出すことを予告。
HTTPSでもリスクは存在する。利用者側もセキュリティ意識を持つ必要がある。