【Web技術④】「リクエストメッセージ」「レスポンスメッセージ」を徹底解説
スポンサードリンク
おはようございます。Shotaです。
今日の記事は昨日に引き続きWeb技術について解説します。
今日の記事では、HTTPの「リクエストメッセージ」「レスポンスメッセージ」について詳細に解説します。
それでは早速、本題に入りましょう。
リクエストメッセージの構造
リクエストメッセージは1行目がリクエストライン、2行目から空行までがヘッダー、空行の次の行から末尾までがボディとして構成されています。
今回の記事ではリクエストラインを中心に解説します。
リクエストライン
リクエストメッセージの1行目にあるのがリクエストラインです。メソッドやリクエストURL、HTTPバージョンなどで構成されています。
メソッド
メソッドには、サーバ上のHTMLファイルや画像ファイルなどのリソースに対する処理内容を指定します。例えば、GETメソッドを指定した場合はリソースの取得を要求します。HTTP/1.1では、以下の表にある8つのメソッドが定義されています。
▼HTTP/1.1で使えるメソッド
メソッド | 説明 |
---|---|
GET | クライアントが指定したURLのリソースを取得する |
POST | GETとは反対にクライアントからサーバにデータを送信する |
PUT | 指定したURLにリソースを保存更新する |
HEAD | ヘッダー情報のみ取得する |
OPTIONS | 利用可能なメソッドなどのサーバ情報を取得する |
DELETE | 指定したリソースを削除する |
TRACE | リクエストのループバックでサーバまでのネットワーク経路をチェックする |
CONNECT | プロキシへのトンネルを要求する |
私たちが普段、Webページを見ているとき(ブラウジング)はGET・POST・HEADメソッドしか使われていません。というのは、Webページを見ているときにPUTメソッドやDELETEメソッドが使われるとコンテンツの改ざんが簡単に行われてしまうためです。
リクエストURL
リクエストURLには、リクエストするリソースの位置情報を指定します。
例えば、http://example.com
のindex.html
をリクエストすると、リクエストURLはhttp://example.com/index.html
となります。
HTTPバージョン
末尾のHTTPバージョンには「HTTP/1.1」のように使用するプロトコル名とバージョン名を指定します。なお該当バージョンで使用するには、クライアントやサーバの両方で対応している必要があります。
レスポンスメッセージ
HTTPメッセージのうち、サーバからクライアントへのレスポンスで使用されるのをレスポンスメッセージと呼びます。
ステータスライン
レスポンスメッセージの一行目に対応するのがステータスラインです。以下の図にあるような書式を用います。
先頭のHTTPバージョンには、使用するHTTPバージョンがセットされます。次のステータスコードには100~500番台で値がセットされます。最後のテキストには、ステータスコードの概要を説明する短い文章がセットされます。
ステータスコード
ステータスコード | 概要 | 説明 |
---|---|---|
100 | 情報(informational) | 処理が継続されていることを通知。殆ど使われていない |
200 | 成功(success) | リクエストの処理に成功したことを通知する |
300 | リダイレクト(Redirection) | リクエストを完遂するには、さらに新しい動作が必要ということを通知 |
400 | クライアントエラー(Client Error) | リクエストの内容に問題があるのでリクエスト処理に失敗したことを通知 |
500 | サーバエラー(Server Error) | リクエスト処理中にサーバにエラーが発生したことを通知 |
ステータスコードを確認すればリクエストが成功したのか、それとも失敗したのかが分かります。また失敗した場合も値によって何が原因だったのかを探ることもできます。
ヘッダー
リクエストメッセージの2行目から空行までがヘッダーです。ここではクライアントからサーバに対して送信するリクエスト内容を詳細に記述しています。
ヘッダーは以下のように記述します。
まとめ
今回の記事では「リクエストメッセージ」「レスポンスメッセージ」について詳細に解説しました。
今回の記事を参考に、これらのことについての理解を深めていただけると幸いです。
今日の記事はこれで終了です。
【参考資料】