Cookie・CORSとブラウザ制御
Cookieは、Webサーバが応答ヘッダーのSet-Cookieで発行し、Webブラウザが保存して以降の要求に付けて送る小さな情報である。CORSは、異なるオリジンのWebページから別オリジンのリソースを利用する際に、同一オリジンポリシーによる読み取り制限をサーバの宣言に基づいて緩和する仕組みである。本単元では、Cookieの属性がどの通信で送られるかを決める仕組みと、ブラウザが応答の読み取りやキャッシュをどう制御するかを区別して理解することが求められる。
Cookieの仕組みと属性
Cookieは、サーバが発行してブラウザに保存させ、ブラウザが対象のドメインとパスに合う要求にだけ自動的に付加する。この仕組みにより、認証状態をHTTPの無状態な通信の上で保持できる。属性は送信の範囲や扱いを定めるものであり、有効期間を決めるExpiresやMax-Age、対象ドメインを定めるDomain、対象パスを定めるPathなどがある。SecureとHttpOnlyは、それぞれ送信経路とJavaScriptからの読み出しという別の観点を制限する属性である。属性ごとに効果が異なるため、ある属性の効果を別の属性へ当てはめないことが重要である。
Secure属性の働き
Secure属性を付けたCookieは、HTTPS接続による通信でのみブラウザから送信される。平文のHTTP通信でCookieが流れ、盗聴によって漏えいすることを防ぐための制御である。Secure属性を設定したCookieは、HTTPS接続による通信でのみブラウザから送信される。 判断の基準は要求のURLのスキームであり、URLのスキームがhttpsのときだけ送出されるという点が試験でも問われる。 Cookieに Secure属性を設定しなかったときと比べると、HTTP通信で送られない点が動作の差となる。
この節の続き
- 同一オリジンポリシーとCORS
- キャッシュ制御の判断基準
- 実務での設計判断
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む