by shigemk2

当面は技術的なことしか書かない

今夜わかるHTTP 3-3 汎用ヘッダーフィールド

前回
今夜わかるHTTP 3-2 - by shigemk2

Cache-Controlヘッダーフィールド
ディレクティブをフィールド値に指定することで、キャッシングの動作を指定する。

Cache-Controlのディレクトリ一覧
max-age
指定した時間(秒)を指定し、その時間内ならキャッシュの再検証を
行わずにデータのやり取りを行うことが出来る。

max-stale
キャッシュされたリソースの有効期限が切れていても指定時間内なら受け入れられることを
伝える。

max-fresh
キャッシュされたリソースが少なくとも指定された時間は新鮮であるものを返すように
キャッシュサーバーに要求する。

must-revalidate
特定のレスポンスのキャッシュが、古くなっている可能性のある値を返せないことを
示すことができる。(max-staleを打ち消す)

no-cache
キャッシュから古いリソースが返されっることを防ぐ。
つまり、キャッシュされたレスポンスをクライアントは受けつけない。

no-store
リクエスト、レスポンスに機密情報が含まれていることを示し、
一部分をローカルストレージに保存してはいけないと指定する。

no-transform
キャッシュがエンティティボディのメディアタイプを変更しないように指定する。

only-if-cached
クライアントはキャッシュサーバーに対して、目的のリソースが
ローカスキャッシュにあるときだけレスポンスを返すように要求する。
レスポンスのリロードや有効性の再確認をしたりしないよう要求する。

private
レスポンスが特定のユーザーだけを対象にしていることを示す。

proxy-revalidate
すべてのキャッシュサーバーに対して以後のリクエストで当該のレスポンスを
返す場合には、必ず有効性の再確認をするように要求する。

public
他のユーザーにも返すことができるキャッシュをしてもよいことを明示する。

s-maxage
maxageと同じだが、複数のユーザーが利用できる共有キャッシュサーバーにだけ適用
される。同じユーザーに対して繰り返しレスポンスを返すようなキャッシュサーバーには
無効なディレクティブである。

extension tokensでディレクティブを拡張出来る。

Connectionヘッダーフィールド
指定されたヘッダーフィールドをホップバイホップ(プロキシサーバーに対してそれ以上
転送しないヘッダーフィールドを指定することが出来る)

また、Connection:Keep-Aliveなどで、持続的接続の管理を担える。

Dateヘッダーフィールド
日時を返す

Pragmaヘッダーフィールド
1.0との後方互換性のためだけに定義されており、
no-cacheディレクティブのみが使える。
キャッシュされたリソースでの応答はしないと中間サーバーに要求する。

Trailerヘッダーフィールド
メッセージボディの後に記述されているヘッダーフィールドを予め伝えることが出来る。

Transfer-Encodingヘッダーフィールド
メッセージボディの転送コーディング形式を指定するときに使う。(ただしチャンク転送コーディングのみ)

Upgradeヘッダーフィールド
HTTPおよび他のプロトコルの新しいバージョンが通信に利用されるときに使う。
指定するのは全く別の通信プロトコルでも可能である。
ただしクライアントと隣接しているサーバー間のみ。

Viaヘッダフィールド
クライアントとサーバー間でのリクエストまたはレスポンスのメッセージの
経路を知るために使用される。
プロキシを経由する場合には、必ず付加する必要がある。

Warningヘッダーフィールド
警告文と警告コードを付与してユーザーに警告を与えることが出来る。

今夜わかるHTTP (Network)

今夜わかるHTTP (Network)