レスポンスヘッダーフィールド
Accept-Ranges
Accept-Ranges: bytes
サーバーが、リソースの一部だけ指定して取得することができるレンジリクエストを受け付けられるかどうかを伝える
受付可能な場合"bytes", 受付不可能な場合"none"を記すAge
Age: 600
Ageヘッダーフィールドは、どれくらい前にオリジンサーバーでレスポンスが生成されたかを伝える
フィールド値の単位は秒
レスポンスをしたサーバーがキャッシュサーバーの場合、キャッシュしたレスポンスが再検証されたときから検証した時間になる
プロキシがレスポンスを生成するときには、Ageヘッダーフィールドは必須
ETag
ETag: "abcdef"
ETagヘッダーフィールドは、エンティティタグと呼ばれ、リソースを一義的に特定するための文字列を伝える
サーバーはリソースごとにETag値を割り当てる
リソースが更新されるとETag値も更新されなければならない
ETag値の文字列の命名法にはルールは特にない。サーバーによって様々なETag値を割り当てる
リソースをキャッシュするには、リソースを一義的に定義したい
URIが同じでリソースが異なる場合(日本語サイトと英語サイトがある場合など)、URIだけではキャッシュしたリソースを特定することができない。そのような場合にETag値を参照する
ETag値には、"強いETag値"と"弱いETag値"がある
強いETag値は、エンティティがわずかに違っていても、必ず変化する
弱いETag値はリソースが同じものだということしか示さない。意味上異なったりソースとして差異があるときのみETag値が変化する
強いETag値
ETag: "0123456789"
弱いETag値
ETag: W/" 0123456789"
Location
Location: http://d.hatena.ne.jp/s-kita
Locationヘッダーフィールドは、レスポンス受信者に対してRequest-URI以外のリソースへアクセスを誘導するときに使われる
基本的に、"3xx Redirection"レスポンスに対して、リダイレクト先のURIを指定する
Proxy-Authenticate
Proxy-Authenticate: Basic realm="s-kita auth"
Proxy-Authenticateヘッダーフィールドは、プロキシサーバーからの認証要求をクライアントに伝える
クライアントとサーバーの場合の、WWW-Authorizationヘッダーフィールドと同じ役割をする
Retry-After
Retry-After: 120
Retry-Afterヘッダーフィールドは、クライアントがどれくらい後にリクエストを再試行すべきかを伝える
ステータスコード"503 Service Unavailable"レスポンスか、 "3xx Redirect"レスポンスとともに使われる
Server
Server: Apache/2.0
HTTPサーバーのソフトウェアが何かを伝える
Vary
Vary: Accept-Language
Varyヘッダーフィールドは、キャッシュをコントロールするために使う
オリジンサーバーがプロキシサーバーに、ローカルキャッシュの使い方の指示を伝える
オリジンサーバーからVaryで指定されたレスポンスを受け取ったプロキシサーバーは、以後はキャッシュしたときのリクエストと同じVaryに指定されているヘッダーフィールドを持つリクエストのみキャッシュを返すことができる
同じリソースに対するリクエストでも、Varyに指定されたヘッダーフィールドが異なっていれば、オリジンサーバーからリソースを取得する必要がある
要確認WWW-Authenticate
WWW-Authenticate: Basic realm="s-kita auth"
WWW-Authenticateヘッダーフィールドは、HTTPアクセス認証に使われ、Request-URIで指定したリソースに適用できる認証スキーム(BasicまたはDigest)とパラメータを示すchallengeを伝える
WWW-Authenticateヘッダーフィールドは、ステータスコード"401 Unauthorized"レスポンスに必ず含まれる
"realm"は、Request-URIで指定した保護されたリソースを識別するための文字列
参考文献:今夜わかるHTTP(上野宣)