HTTPリクエスト 【HTTP request】 HTTP要求
概要
HTTPリクエスト(HTTP request)とは、Webコンテンツの伝送を行うHTTP(Hypertext Transfer Protocol)で、クライアントからサーバへ要求を伝えるメッセージのこと。送信してほしいファイルなどを指示する。HTTPはWebブラウザなどのクライアントとWebサーバの間の通信手順や送受信データ形式を規定したプロトコルで、原則としてクライアントから要求(リクエスト)を送信し、それに応えてサーバが応答(レスポンス)を返すという手順を繰り返して通信を行う。
クライアントからの要求メッセージがHTTPリクエストで、通常は要求の詳細な内容を記したヘッダ部のみを送信する。HTTPメッセージには伝送するデータ本体のボディ部も規定されているが、HTTPリクエストではクライアント側からフォームの入力内容を送信したりファイルのアップロードなどを行う場合のみ記載される。
メッセージは改行区切りのテキスト(文字)形式で、ヘッダの先頭行(リクエスト行)は「GET /index.html HTTP/1.1」のように「リクエストメソッド名 パス HTTPバージョン」で始める。次行からは「フィールド名: 値」という形式で一行に一つずつ要求内容の詳細を記述していく。
メソッド名はサーバに要求する動作を表し、GETメソッド(資源の送信を要求)やPOSTメソッド(クライアントから送信するデータの受け取りを要求)、HEADメソッド(資源のヘッダ情報のみを要求)などがある。パスは要求資源のサーバ上での所在を表し「/index.html」などURLのパス名部分を記載する。「?」に続けてURLパラメータも記述できる。HTTPバージョンは「HTTP/1.0」「HTTP/1.1」などメッセージが準拠するHTTP規格を示す。
ヘッダフィールドには接続先のホスト名(ドメイン名)を指定する「Host:」フィールド、受信可能な資源の種類を表す「Accept:」フィールド、クライアント側に保存された状態管理のためのデータを送る「Cookie:」フィールド、リンク元のURLを表す「Referer:」フィールド、クライアントの名称やバージョンを表す「User-Agent:」フィールドなどがある。