HTTP ハイパーテキスト転送プロトコル
HTTP(Hyper Text Transfer Protocol)は、HTML(Hyper Text Markup Language)で記述されたWebページ本体と、画像ファイルなどの構成要素をWebサーバーからダウンロードするためのプロトコルです。皆さんが普段、普通に Internet ExplorerなどのWebブラウザで さまざまな Webサイトを見たり、検索したりしている裏側で HTTPが使われています。
HTTPのメッセージは、Internet ExplorerなどのWebブラウザからの要求(コマンド)に対して、IIS(Internet Information Services)やApacheなどのWebサーバーが応答(レスポンス)します。
コマンドは、1) HTTPメソッド、2) URI(Uniform Resource Identifiers)、3) HTTPバージョン という3つの要素で構成されます。HTTPメソッドは、WebブラウザがWebサーバーにどのような情報・処理を要求するかをあらわすコードです。
Webサーバーに指定のリソースを要求
Webサーバーにリソースのヘッダのみを要求
Webサーバーにフォームデータの受け取りを要求
Webサーバーに URLで指定したファイルのアップロードを要求
Webサーバーに、URLで指定したファイルの削除を要求
Webサーバーが受け取った要求情報とヘッダの返送を要求
Webサーバーがサポートしている通信オプションを要求
URI(Uniform Resource Identifiers)」は URLを拡張したものです。Webサーバーに限定して考えれば、URLとURIは同一の構文です。URL(Uniform Resource Locator)は、インターネット上のリソースを指し示す構文です。IETFのRFC1738 で規定されています。URLは以下の形式で指定します。
スキーム名://サーバー名:ポート番号/パス名
HTTPバージョンは HTTPのバージョンで 「HTTP/バージョン番号」という形式で指定します。HTTPバージョンには、HTTP 1.0(RFC1945)、HTTP 1.1(
RFC2616)の2種類が存在します。
レスポンスは、1) HTTPバージョン、2) 状態コード、3) 説明という3つの要素で構成されます。HTTPバージョンは、Webブラウザからの要求(コマンド)と同様で「HTTP/1.1」のような文字列が返されます。状態コードは 3桁の番号で 100番ごとに「情報(100番台)」「成功(200番台)」「リダイレクト(300番台)」「クライアントエラー(400番台)」「サーバーエラー(500番台)」という意味を持ちます。
要求を続行可能
プロトコルの切り替え
要求が成功
要求が成功し、新しいリソースを作成
要求は受け付けられたが、処理は未完了
要求は受け付けられたが、返送する情報なし
要求は成功し、フォームをクリア
HTTPバージョンが選択可能
要求したリソースは移動された
要求したりソースは一時的に移動された
要求したリソースは更新されていない
指定したProxy経由でのアクセス
要求が不正のため処理できない
ユーザー認証がされていない
アクセス権限がないためアクセス不可
リソースが存在しない
無効な要求
プロキシによるユーザー認証が必要
要求がタイムアウトした
サポートされていないファイルタイプ
要求実行時にエラー発生
要求された機能は実装されていない
不正なゲートウェイ
一時的負荷またはメンテナンス
ゲートウェイへのアクセスでタイムアウト
HTTPバージョンがサポートされていない