Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Web技術④】「リクエストメッセージ」「レスポンスメッセージ」を徹底解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210930095324p:plain

おはようございます。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.comindex.htmlをリクエストすると、リクエストURLはhttp://example.com/index.htmlとなります。


HTTPバージョン

末尾のHTTPバージョンには「HTTP/1.1」のように使用するプロトコル名とバージョン名を指定します。なお該当バージョンで使用するには、クライアントやサーバの両方で対応している必要があります。


レスポンスメッセージ

HTTPメッセージのうち、サーバからクライアントへのレスポンスで使用されるのをレスポンスメッセージと呼びます。


ステータスライン

レスポンスメッセージの一行目に対応するのがステータスラインです。以下の図にあるような書式を用います。

f:id:ShotaNukumizu_1000:20211019045937p:plain

先頭のHTTPバージョンには、使用するHTTPバージョンがセットされます。次のステータスコードには100~500番台で値がセットされます。最後のテキストには、ステータスコードの概要を説明する短い文章がセットされます。


ステータスコード

ステータスコード

ステータスコード 概要 説明
100 情報(informational) 処理が継続されていることを通知。殆ど使われていない
200 成功(success) リクエストの処理に成功したことを通知する
300 リダイレクト(Redirection) リクエストを完遂するには、さらに新しい動作が必要ということを通知
400 クライアントエラー(Client Error) リクエストの内容に問題があるのでリクエスト処理に失敗したことを通知
500 サーバエラー(Server Error) リクエスト処理中にサーバにエラーが発生したことを通知


ステータスコードを確認すればリクエストが成功したのか、それとも失敗したのかが分かります。また失敗した場合も値によって何が原因だったのかを探ることもできます。


ヘッダー

リクエストメッセージの2行目から空行までがヘッダーです。ここではクライアントからサーバに対して送信するリクエスト内容を詳細に記述しています。

ヘッダーは以下のように記述します。


まとめ

今回の記事では「リクエストメッセージ」「レスポンスメッセージ」について詳細に解説しました。

今回の記事を参考に、これらのことについての理解を深めていただけると幸いです。

今日の記事はこれで終了です。

【参考資料】