3部 CGI リファレンス

ヘッダフィールド

ヘッダフィールド一覧
リクエスト・ヘッダ
フィールド名
バージョン
解説
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 メソッドです。それ以外のメソッドは、セキュリティ上の問題などにより、実際に実装されているケースはほとんどありません。

関連記事