お猿がゆく、インターネットの基礎技術復習

最近、いろいろ思うところあって、一から勉強し直し中。
その一環として、インターネットを支える技術について、お猿なりにまとめていく。

497 views

HTTPヘッダ②

キャッシュ

キャッシュとは、「サーバーから取得したリソースを、ローカルストレージに蓄積し、再利用する」仕組み。
ただし、有効な間のみ。無効になると、再取得する必要がある。
キャッシュしたデータに対して、キャッシュと呼ぶこともある。

キャッシュ用ヘッダ

取得したリソースが、キャッシュ可能かどうかを示す。
可能な場合、有効期限を示す

Pragma

リソースのキャッシュ不可を示す。
Pragmaヘッダに指定できる値は、「no-cache」のみ。

HTTP1.1 200 OK
Content-Type:.....;charset=utf-8
Pragma:no-cache

Expires

キャッシュの有効期限(新鮮さをサーバが保つ)を示す。
クライアントが次回このリソースにアクセスするときは、キャッシュの有効期限かどうかによって、再取得かキャッシュ利用するかを変更する。
最長で「約1年後」の日時を入れることを推奨している。10年後とじゃは危ない

HTTP1.1 200 OK
Content-Type:.....;charset=utf-8
Expires:Thu,11 May 2021 18:00:00 GMT
~
キャッシュ可能なデータ
~

Cache-Control

詳細なキャッシュの方法を指定する

//この二つは、同じ意味
Pragma:no-cache
Cache-Control:no-cache

//Cache-Controlは、秒で時間指定可能
Cache-Control:max-age:86400
Expires:Thu,11 May 2021 18:00:00 GMT

条件付きGET

キャッシュの再利用が難しいと判断した場合、リソースの再取得を行う。
しかし「条件付きGET」を使用すれば、キャッシュを再利用できる可能性がある。
条件付きGETは、キャッシュから変更されているかを調べるヒントをリクエストヘッダに含めることで、キャッシュがそのまま使用可能か検証する。

if-Modified

リソースの更新日時を条件にする
(例)もし、指定した日時以降に変更されていたら

if-None-Match

リソースのETagを条件にする
(例)指定した値にマッチしなければ

持続的接続

今までの方式(HTTP1.0)では、もっさりした動きになる。
これを解決するために存在する。
クライアントとサーバー間でリクエストのたびに切断するのではなく、まとめて接続し続ける。
これを、「Keep-Alive」ヘッダという。(現在はこちらがデフォルト)

持続的接続では、クライアントはレスポンスを待たずにサーバーにリクエストを送信できる。
これを、「パイプライン化」

その他のHTTPヘッダ

Content-Didposition

ファイル名を指定する。

Slug

ファイル名のヒントを指定する

Page 11 of 18.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

owl

自己紹介

駆け出しエンジニア
だいたいweb系をかじってる
最近ちょとブロックチェーンに興味出てきた

サイト/ブログ

https://github.com/owl0109

ツイッター

@kijiken1