HTTP6

エンティティヘッダーフィールド

エンティティヘッダーフィールドは、リクエストメッセージとレスポンスメッセージに含まれるエンティティに使用されるヘッダー

コンテンツの好悪新時間などエンティティに関する情報を付け加える


Allow

Allow: GET, HEAD

  • Request-URIで指定したリソースがサポートするメソッドの一覧を伝える

  • サーバーが受け入れられないメソッドを受けると、ステータスコード"405 Method Not Allowed"レスポンスとともに、受け入れ可能なメソッドの一覧を記したAllowヘッダーフィールドを返す

  • Content-Encoding

    Content-Encoding: gzip

  • Content-Encodingヘッダーフィールドは、サーバーがエンティティボディに対して施したコンテンツコーディングの形式を伝える


  • コンテンツコーディングの形式

  • gzipGNU zipプログラムで圧縮(RFC1952)
    compressUNIXのcompressプログラムで圧縮
    deflatezlibで圧縮(RFC1950)
    identityエンコーディングなし


    Content-Language

    Content-Language: ja

  • エンティティボディに使用されている自然言語を伝える


  • Content-Length

  • エンティティボディの大きさ(bytes)を伝える

  • エンティティボディに転送コーディング(chunked)が施されていれば、Content-Lengthヘッダーフィールドは使用してはいけない

  • Content-Location

    Content-Location: http://d.hatena.ne.jp/s-kita

  • メッセージボディに対応するURIを伝える

  • Locationヘッダーフィールドとは異なり、Content-Locationはメッセージボディで返されるリソースのURIを表す


  • Content-MD5

  • Content-MD5ヘッダーフィールドは、メッセージボディが変更されずに届いたことを保障するためにMD5によって作られた値を伝える

  • メッセージボディに対してMD5ハッシュ値を生成し128ビットのバイナリ値を得たものに、Base64エンコーディングを施した結果をフィールド値に記す

  • 偶発的にメッセージが変更された場合は、それを検知できる

  • 悪意を持ってメッセージが改ざんされた場合は、検知できない場合がある(改ざんしたメッセージでMD5を求めた場合)


  • Content-Range

    Content-Range: 1001-2000/2000

  • Content-Rangeヘッダーフィールドは、範囲を指定して一部分だけリクエストするレンジリクエストに対するレスポンスに使われる

  • レスポンスで送っているエンティティがどの部分に該当するかを伝えている


  • Content-Type

    Content-Type: text/html

  • エンティティボディに含まれるオブジェクトのメディアタイプを伝える

  • Expires

    Expires: Sat, 30 2003 00:00:00 GMT

  • Expiresヘッダーフィールドは、リソースの有効期限の日時を伝える

  • キャッシュサーバーが、Expiresヘッダーフィールドを含んだレスポンスを受け取ったら、フィールド値で指定された日時までレスポンスのコピーを保持しておいて、リクエストが来た段階でオリジンサーバーにリソースをとりにいく
















  • 参考文献:今夜わかるHTTP(上野宣)