3部 CGI リファレンス

ヘッダフィールド

2011年10月18日
ヘッダフィールド一覧
リクエスト・ヘッダ
フィールド名 バージョン 解説
Accept   利用可能なアプリケーション・メディアタイプ。複数指定、優先度指定も可能
Accept-Charset   利用可能な文字セット
Accept-Encoding   利用可能なエンコーディング形式(Content Coding形式)
Accept-Language   利用可能な言語コード。複数指定し、優先度を付けることが可能
Authorization ログインに必要な認証情報。ユーザー名とパスワードが格納される
Expect   サーバ要求が実装されているかどうかの確認時に期待されるレスポンスを指定する
From 利用ユーザーに固有なメールアドレスなどの情報。ただし無条件にリクエストに付加するのはセキュリティ上の問題でもあり、あまり実装されていない
Host   リクエスト先サーバ名。DNS名を利用する。1.1ではプロキシや仮想サーバの利用を前提に、必須としている
If-Modified-Since Date を指定する。指定した Date より最新のリソースの場合のみデータを取得できるように指示する。ローカルキャッシュの最新確認に使用される。

キャッシュの有効性の確認
このフィールドで指定した日付と、リソースの更新日を比較し、リソースのほうが新しい場合のみデータを取得できるように指示します。

If-Match   指定したエンティティタグに一致する場合のみデータを更新/取得するように指示する
If-None-Match   指定したエンティティタグに一致しない場合のみデータを更新/取得するように指示する。最新情報の取得や競合の排除のために指定される
If-Range   指定されたエンティティタグが最新であれば、それ以外の残りを転送するように指示する。Rangeとともに使用される。または最終更新時刻(Date)を指定してもよい
If-Unmodified-Since   Dateを指定する。指定したDate以降リソースが更新されていない場合のみデータを取得できるように指示する
Max-Forwards   経由できるプロキシの最大数
Proxy-Authorization   プロキシにログインが必要な場合のための認証情報
Range   取得するデータのバイトレンジ。単位はバイト
Referer 直前にリンクされていた URL 情報
TE   利用可能なエンコーディング形式(Transfer Coding方式)
User-Agent ブラウザの固有情報

○……1.0/1.1共通
無印……1.1より追加

エンティティ・ヘッダ
フィールド名 バージョン 解説
Allow 利用可能なリクエスト・メソッドの一覧
Content-Encoding リソース・コンテンツのエンコード方法(Content Coding方式)。1.1では、gzip、compress、deflate、identity(エンコードなし)が定義されている
Content-Language   リソース・コンテンツの使用言語コード
Content-Length リソース・コンテンツのサイズ。単位はバイト

出力のバイト単位の長さ
バイナリデータも含みます。

Content-Location   リソース・コンテンツの固有位置を示すURI

Content-MD5   リソース・コンテンツのMD5検証値。チェックサムとして利用できる
Content-Range   転送されたデータがあるリソース・コンテンツの一部だった場合にデータのレンジを示す
Content-Type リソース・コンテンツのアプリケーション・メディアタイプ。MIMEのメディアタイプと同様

出力のMIMEタイプ

Expires リソース・コンテンツの有効期限。Date値

リソースの有効期限
この日付以降は無効です。キャッシュは破棄されます。

Last-Modified リソース・コンテンツの最終更新時刻。Date値

リソースの更新日

○……1.0/1.1共通
無印……1.1より追加

レスポンス・ヘッダ
フィールド名 バージョン 解説
Accept-Ranges   返答したデータのレンジ。単位はバイト
Age   キャッシュデータの場合の経過時間。単位は秒
ETag   エンティティタグ。リソースの全体や一部を特定する固有値
Location リダイレクト先URL。HTMLの と同等の動作を行う

リダイレクト URL 情報
Location で指定されたリソースが送信されます。
単独ヘッダとして出力されます。

Proxy-Authenticate   プロキシにおける認証領域名を示す固有値。HTTPサーバでのWWW-Authenticateに該当する
Retry-After   サービスの一時停止期間/時刻を表す。コード503(Service Unavailable)に伴う。単位は秒数かDate
Server HTTPサーバアプリケーション種類を示す固有テキスト値

ウェブサーバの名前とバージョン情報。

Vary   指定されたフィールドがサーバによって受け入れ可能なオプションと判断された(Server Drivenネゴシエーション)ことを示す
WWW-Authenticate 認証の領域名を示す固有値。HTTPサーバのRealmと一致する

認証データ。
認証に必要なユーザー名やパスワードなどの情報が含まれます。

Status-----   リクエストのステータス
単独ヘッダとして出力されます。
Refresh-----   指定されたドキュメントを再ロードする。
Set-Cookie---   データをクライアント側に保存する。

○……1.0/1.1共通
無印……1.1より追加

一般・ヘッダ
フィールド名 バージョン 解説
Cache-Control   キャッシュのコントロールに必要な指示や情報
Connection 接続の永続性情報。'none'が指定されると、レスポンス後の接続は解除される
Date   日付情報。RFC822形式、RFC850形式、ANSI C形式などを受け入れる必要がある

現在の日付(グリニッジ標準時)

Pragma 関連するクライアント/プロキシ/サーバそれぞれに認識させるための特殊な追加情報を記述する(例えば、'no-cache'で無条件で最新リソースを強制転送させる、など)

リソースのキャッシングを有効/無効にする
「Pragma: no-cache」と指定すると、リソースのキャッシュを無効にします。

Trailer チャンク形式エンコーディングで使用されるフィールドを記述する
Transfer-Encoding   利用されている転送エンコーディング形式(Transfer Coding:形式)。1.1ではチャンク形式が定義されている
Upgrade   HTTPの上位バージョンやその他プロトコルに移行する際に、取り得るプロトコルを指定する
Via   経由した主にプロキシの情報を格納する。主にループの検知に使用される。
Warning   レスポンス・ステータスコードの付加的なコード番号やテキスト情報
○……1.0/1.1共通
無印……1.1より追加

RFC1945では現れないが、IETFにおけるHTTP 1.0ドラフト(draft-fielding-http-spec-01.txt)では定義されており、実際に利用しているWebブラウザも多い。HTTP 1.1では下位互換のために定義されている

メソッド

リクエストはブラウザが出力するものですが、その内容は HTML から指定することが可能です。リクエストメッセージ群には必ずメソッドと呼ばれるリクエスト行が含まれています。

メソッドとは、サーバにリクエストを指示するための命令です。HTTPで定義されているメソッドを紹介しましょう。

HTTP1.0で定義されているメソッド一覧

メソッド 説明
DELETE URLで指定したリソースを削除
GET URLで指定したリソースを取得
レスポンスのボディにはリソースのデータが含まれます。
HEAD URLで指定したリソースについてのレスポンスヘッダのみ取得
POST 指定したURLが示すサーバーのコマンドに対して、データを転送
リクエストのボディには転送するデータが含まれます。
PUT 指定したURLが示すリソースに対して、データを転送して置き換え
リクエストのボディには置き換えるデータが含まれます。
LINK (廃止されました)
UNLINK (廃止されました)

HTTP1.1で定義されているメソッド一覧

メソッド 説明
TRACE サーバーやプロキシの動作を診断するための情報を返答
OPTIONS 使用できるメソッドやオプションの一覧を取得
CONNECT プロキシでのトンネリング接続を行う

メソッドの中で実際によく利用されるのは GET メソッドPOST メソッドです。それ以外のメソッドは、セキュリティ上の問題などにより、実際に実装されているケースはほとんどありません。

Comment

コメントを残す

メールアドレスが公開されることはありません。

リズムファクトリーはホームページの制作会社です。
ホームページ制作に関するご要望・ご相談はこちらからどうぞ。