情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

サーバサイドウェブ開発基礎 HTTP詳説 HTTPレスポンスのヘッダフィールド

2017/02/13

HTTPレスポンスのヘッダフィールドについて解説します。

Accept-Rangesヘッダフィールド

Accept-Rangesヘッダフィールドはサーバが範囲リクエストをサポートしているかを表します。

範囲リクエスト

Ageヘッダフィールド

Ageヘッダフィールドはキャッシュの年齢を表します。

キャッシュ

Allowヘッダフィールド

Allowヘッダフィールドはリクエストターゲットにおいて使用することができる(対応する処理が存在する)メソッドを表します。

Allowヘッダフィールドの値には1個以上のメソッドのリストを,区切りで指定します。

サーバはリクエストターゲットにおいてメソッドに対応する処理が存在しなかった場合にはステータスコードが405Method Not Allowed)でAllowヘッダフィールドを設定したHTTPレスポンスを返信するようにします。

Authentication-Infoヘッダフィールド

Authentication-Infoヘッダフィールドはサーバからの認証の結果を表します。

認証

Cache-Controlヘッダフィールド

Cache-Controlヘッダフィールドはキャッシュに関する情報を表します。

キャッシュ

Connectionヘッダフィールド

Connectionヘッダフィールドは接続や通信に対して適用するオプションを表します。

接続や通信の制御

Content-Encodingヘッダフィールド

Content-Encodingヘッダフィールドはボディのデータに使用したコンテントコーディングや処理対象のリソースのリプリゼンテーションのデータに使用されるコンテントコーディングを表します。

リプリゼンテーションメタデータ

Content-Languageヘッダフィールド

Content-Languageヘッダフィールドはボディのデータが対象としている人間の言語や処理対象のリソースのリプリゼンテーションのデータが対象としている人間の言語を表します。

リプリゼンテーションメタデータ

Content-Lengthヘッダフィールド

Content-Lengthヘッダフィールドはボディの長さを表します。

接続や通信の制御

Content-Locationヘッダフィールド

Content-LocationヘッダフィールドはボディのデータのURI(URL)や処理対象のリソースのリプリゼンテーションのデータのURIを表します。

接続や通信の制御

Content-Rangeヘッダフィールド

Content-Rangeヘッダフィールドはボディに格納されているデータの範囲とデータの元々の長さを表します。

範囲リクエスト

Content-Typeヘッダフィールド

Content-Typeヘッダフィールドはボディのデータのメディアタイプ(MIMEタイプ)や処理対象のリソースのリプリゼンテーションのデータのメディアタイプを表します。

リプリゼンテーションメタデータ

Dateヘッダフィールド

DateヘッダフィールドはHTTPレスポンスを作成した日時をHTTP日時として表します。

ETagヘッダフィールド

ETagヘッダフィールドはリソースのリプリゼンテーションの存在タグを表します。

存在タグ

Expiresヘッダフィールド

Expiresヘッダフィールドはキャッシュが新鮮でなくなる日時をHTTP日時として表します。

キャッシュ

Last-Modifiedヘッダフィールド

Last-Modifiedヘッダフィールドはリソースのリプリゼンテーションの更新日時をHTTP日時として表します。

Linkヘッダフィールドはボディのデータに付加されたリンクを表します。

Linkヘッダフィールドの値には1個以上の型付きリンクのリストを,区切りで指定します。

ただし、型付きリンクのanchorパラメータとしてコンテキストIRIが指定されていない場合にはリソースのIRIがコンテキストIRIとなります。

Locationヘッダフィールド

LocationヘッダフィールドはリソースのURI(URL)参照を表します。

サーバはリソースを新規作成した場合にはステータスコードが201Created)でLocationヘッダフィールドの値に新規作成したリソースのURI参照を指定したHTTPレスポンスを返信するようにします。

サーバはステータスコードが3から始まるHTTPレスポンスを返信する場合にはLocationヘッダフィールドの値にクライアントが再送しなければならないHTTPリクエストのURI参照を指定するようにします。

Proxy-Authenticateヘッダフィールド

Proxy-Authenticateヘッダフィールドはプロキシからのチャレンジを表します。

認証

Proxy-Authentication-Infoヘッダフィールド

Proxy-Authentication-Infoヘッダフィールドはプロキシからの認証の結果を表します。

認証

Retry-Afterヘッダフィールド

Retry-AfterヘッダフィールドはクライアントがいつHTTPリクエストを再送するべきかをHTTP日時か10進数の秒数として表します。この秒数はHTTPレスポンスのDateヘッダフィールドに指定されている日時からクライアントがHTTPリクエストを再送するべき日時までの秒数を表します。

サーバは一時的にHTTPリクエストが処理できない状態になっている場合にはステータスコードが503Service Unavailable)でRetry-Afterヘッダフィールドを設定したHTTPレスポンスを返信するようにします。

サーバはステータスコードが3から始まるHTTPレスポンスを返信する場合にはRetry-Afterヘッダフィールドを設定するようにします。

Serverヘッダフィールド

Serverヘッダフィールドはサーバの名称やサーバ側の環境(OSの名称など)を表します。

複数の名称を指定する場合には空白で区切ります。

また、名称の後には/に続けてバージョンを指定することもできます。

Set-Cookieヘッダフィールドはクッキーの内容を表します。

クッキー

Trailerヘッダフィールド

Trailerヘッダフィールドはボディを送信し終わった後に追加で送信されるヘッダフィールドのフィールド名を表します。

接続や通信の制御

Transfer-Encodingヘッダフィールド

Transfer-Encodingヘッダフィールドはボディで使用されているトランスファーコーディングを表します。

接続や通信の制御

Upgradeヘッダフィールド

Upgradeヘッダフィールドはサーバが移行を要求するプロトコルや移行を決定したプロトコルを表します。また、サーバがサポートしているプロトコルを表します。

接続や通信の制御

Varyヘッダフィールド

Varyヘッダフィールドはサーバがどのヘッダフィールドに基づいてHTTPレスポンスのボディに格納するリソースのリプリゼンテーションのデータの種類を決定するかを表します。

Varyヘッダフィールドの値には*か1個以上のヘッダフィールドのフィールド名のリストを,区切りで指定します。

*はサーバが全てのヘッダフィールドに基づいてHTTPレスポンスのボディに格納するリソースのリプリゼンテーションのデータの種類を決定したことを表します。あるいは、ヘッダフィールド以外から得られる情報(クライアントのIPアドレスなど)に基づいて決定したことを表します。

これにより、HTTPリクエストのヘッダフィールドの値に応じてボディのデータが変化するようなHTTPレスポンスをクライアントやプロキシが正しくキャッシュすることができます。

Viaヘッダフィールド

ViaヘッダフィールドはHTTPリクエストを転送したプロキシとプロトコルに関する情報を表します。

プロキシ

Warningヘッダフィールド

Warningヘッダフィールドは警告を表します。

警告

WWW-Authenticateヘッダフィールド

WWW-Authenticateヘッダフィールドはサーバからのチャレンジを表します。

認証

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-http, web