HTTP (Hyper Text Transfer Protocol)
・URL WebサイトのURLやパス
・HTTPのバージョン
メソッド
説明
GET
最も一般的に使用されるメソッドです。ブラウザはサーバに対してページの取得を要求します。(データ本体は送られない)
HEAD
ヘッダのみの情報を要求します。サーバは GET メソッドと HEAD メソッドは必ずサポートしなければなりません。
POST
CGI でよく使用されるメソッドです。method="POST" を指定したフォームに入力したデータをサーバに転送する際に使用されます。
PUT
ファイルをサーバにアップロードする際に用いられます。
DELETE
指定したリソースを削除することをサーバに要求します。
CONNECT
プロキシサーバを経由して SSL 通信する際などに使用します。
OPTIONS
サーバがサポートしているメソッドやオプションを調べる際に用います。
TRACE
HTTP要求がどのプロキシサーバを経由して送信されるかなど、HTTPの動作をトレースする際に用います。このメッセージを受け取った最後のサーバは、要求メッセージに含まれるエンティティ(通常はヘッダ+メッセージボディ)をそのまま返します。
フィールド名
説明
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
Webブラウザの固有情報
HTTPステータスコード
分類
番号
メッセージ
説明
情報
100
Continue
処理を継続しています。続きのリクエストを送信してください。
101
Switching Protocols Upgrade
ヘッダで指定したプロトコルに変更して再要求してください。
成功
200
OK
成功しました。
201
Created Location
ヘッダで指定した場所に新しいコンテンツが作成されました。
202
Accepted
要求は受理されました。ただし処理は完了していません。
203
Non-Authoritative Information
応答ヘッダはオリジナルサーバーが返したものとは異なりますが、処理は成功です。
204
No Content
コンテンツはありませんが、処理は成功しました。
205
Reset Content
要求を受理したので、現在のコンテンツ(画面)を破棄してください。
206
Partial Content
コンテンツを一部のみ返却します。
転送
300
Multiple Choices
コンテンツ入手方法について複数の選択肢があります。
301
Moved Permanently Location
ヘッダで指定された別の場所に移動しました。
302
Found Location
ヘッダで指定された別の場所に見つかりました。そちらを見てください。
303
See Other Location
ヘッダで指定された他の場所を見てください。
304
Not Modified
更新されていません。If-Modified-Since ヘッダを用いた場合に返却されます。
305
Use Proxy Location
ヘッダで指定したプロキシを使用してください。
306
(Unused)
未使用。
307
Temporary Redirect
別の場所に一時的に移動しています。
クライアントエラー
400
Bad Request
要求が不正です。
401
Unauthorized
認証されていません。
402
Payment Required
支払いが必要です。
403
Forbidden
アクセスが認められていません。
404
Not Found
見つかりません。
405
Method Not Allowed
指定したメソッドはサポートされていません。
406
Not Acceptable
許可されていません。
407
Proxy Authentication Required
プロキシ認証が必要です。
408
Request Timeout
リクエストがタイムアウトしました。
409
Conflict
リクエストがコンフリクト(衝突・矛盾)しました。
410
Gone
要求されたコンテンツは無くなってしまいました。
411
Length Required Content-Length
ヘッダを付加して要求してください。
412
Precondition Failed If-...
ヘッダで指定された条件に合致しませんでした。
413
Request Entity Too Large
要求されたエンティティが大きすぎます。
414
Request-URI Too Long
要求された URI が長すぎます。
415
Unsupported Media Type
サポートされていないメディアタイプです。
416
Requested Range Not Satisfiable
要求されたレンジが不正です。
417
Expectation Failed Expect
ヘッダで指定された拡張要求は失敗しました。
サーバーエラー
500
Internal Server Error
サーバーで予期しないエラーが発生しました。
501
Not Implemented
実装されていません。
502
Bad Gateway
ゲートウェイが不正です。
503
Service Unavailable
サービスは利用可能ではありません。
504
Gateway Timeout
ゲートウェイがタイムアウトしました。
505
HTTP Version Not Supported
このHTTPバージョンはサポートされていません。
フィールド名
内容
Server
ウェブサーバの名前とバージョン情報。
Date
現在の日付(グリニッジ標準時)
Last-Modified
データの最終更新日時
Content-Length
出力のバイト単位の長さ バイナリデータも含みます。
Content-Type
出力のMIMEタイプ
Expires
リソースの有効期限 この日付以降は無効です。キャッシュは破棄されます。
Location
リダイレクト URL 情報 Location で指定されたリソースが送信されます。単独ヘッダとして出力されます。
Pragma
リソースのキャッシングを有効/無効にする「Pragma: no-cache」と指定すると、リソースのキャッシュを無効にします。
Status
リクエストのステータス単独ヘッダとして出力されます。
WWW-Authenticate
認証データ。認証に必要なユーザー名やパスワードなどの情報が含まれます。
Refresh
指定されたドキュメントを再ロードする。
Set-Cookie
データをクライアント側に保存する。
Etag
サーバー固有の情報が付与され、ブラウザキャッシュを再利用するかどうか判断させます。
フィールド名
説明
Cache-Control
キャッシュのコントロールに必要な指示や情報
Connection
接続の永続性情報。'none'が指定されると、レスポンス後の接続は解除される
Date
日付情報。RFC822形式、RFC850形式、ANSI C形式などを受け入れる必要がある
Pragma
関連するクライアント/プロキシ/サーバそれぞれに認識させるための特殊な追加情報を記述する(例えば、'no-cache'で無条件で最新リソースを強制転送させる、など)
Trailer
チャンク形式エンコーディングで使用されるフィールドを記述する
Transfer-Encoding
利用されている転送エンコーディング形式(Transfer Coding:形式)。1.1ではチャンク形式が定義されている
Upgrade
HTTPの上位バージョンやその他プロトコルに移行する際に、取り得るプロトコルを指定する
Via
経由した主にプロキシの情報を格納する。主にループの検知に使用される。
Warning
レスポンス・ステータスコードの付加的なコード番号やテキスト情報
フィールド名
説明
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のメディアタイプと同様
Expires
リソース・コンテンツの有効期限。Date値
Last-Modified
リソース・コンテンツの最終更新時刻。Date値
参考URL:
MIME Content-Type 表
MIMEタイプ一覧
MIME type
ファイル形式
一般的な拡張子
text/plain
テキスト
.txt
text/html
HTML文書
.htm .html
text/xml
XML文書
.xml
image/gif
GIFイメージ
.gif
audio/wav
WAV
.wav
video/x-flv
Flashビデオ
.flv
application/xml
XML文書
.xml
application/x-shockwave-flash
Flash
.swf
MIMEタイプ (MIME type) / コンテンツタイプ (Content-Type)
MIMEタイプとは、電子メールに文字以外のデータを含める方式を定めたMIMEで、データ形式を識別するためのコードの体系。転じて、Webのデータ送受信を行うHTTPなどでもデータの種類を表すコードとして利用されている。
「type/subtype」の形式で記述され、例えば
プレーンテキスト … text/plain
HTML文書 … text/html
JPEG画像 … image/jpeg
などと定められている。typeに指定できるものには
text (文字)
image (画像)
video (動画)
audio (音声)
application (アプリケーション固有)
message (メールメッセージ)
multipart (複数形式が混在) multipart/form-data
などの種類がある。
RFCなどに登録されていない非公式なsubtype … 接頭辞「x-」を付け「application/x-lzh」のような形式
企業などの自社固有のデータ形式 … 接頭辞「vnd.」を付け「application/vnd.ms-word」のような形式
データ形式が不明あるいは任意のバイナリ形式 … 「application/octet-stream」