HTTPヘッダーフィールド5

レスポンスヘッダーフィールド

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(上野宣)