約束事って?
よくHTTPやTCP/IPの説明で「約束事」って使われてますよね。
- 「約束事」だけ言われても何が約束されいるんだろう?
- 単語は分かるけど説明がいまいちはっきり出来ない
こんな経験はないでしょうか?
ここでは、HTTPにおける具体的な「約束事」について詳しく説明します。
HTTPの約束事
HTTPとは
ご存知の方は多いと思いますが、一旦HTTPの説明から行きます。
HTTP (Hypertext Transfer Protocol) は、Webページを取得するためのプロトコル(約束事)です。
ブラウザ(クライアント)とWebサーバー(サーバー)が通信する際に使います。
HTTPの約束事とは?
リクエストとレスポンスでそれぞれ違うのでリクエストから説明していきます。
リクエストの約束事
- メソッド: どのような操作を行うかを指定します。これが約束事の一部です
例: GET(データを取得する)、POST(データを送信する) - URL: アクセスしたいリソースの場所を指定します
例: /index.html - ヘッダー: 通信に関する追加情報を含みます
例:
User-Agent: Mozilla/5.0(ブラウザの種類)
Cookie
上記の情報を含めてリクエストを送る。というのが約束事です。
これを共通認識の約束としておくことで、サーバとクライアントの間で正常に処理できるということです。
上記のいずれかが含まれてないと、サーバはどうやって処理したらいいのか分からず400番台のエラーをレスポンスとして返すことになります。
続いてレスポンスの約束事です。
レスポンスの約束事
-
ステータスコード: リクエストの結果を示します。これが約束事の一部です
- 例:
200 OK
(成功)、404 Not Found
(ページが見つからない)、500 Internal Server Error
(サーバー内部のエラー)
- 例:
-
ヘッダー: 通信に関する追加情報を含みます
- 例:
Content-Type: text/html; charset=UTF-8
(返されるデータの種類)
- 例:
- ボディ: 実際のデータ(例: HTMLの内容)
上記の情報を含めてレスポンスを返す、というのが約束事です。これもまた共通認識の約束としておくことで、クライアントとサーバーの間で正常に通信が成功します。
もしこれらの約束事が守られなければ、クライアントは適切に動作しないかもしれません。
まとめ
プロトコルの約束事を理解し守ることは、ネットワークやインターネット上でのデータのやり取りが正確かつ安全に行われるために非常に重要です。HTTPやその他の各プロトコルの約束事を守ることで、クライアントとサーバーが正しく通信し、エラーを防ぐことができます。エンジニアとして大切な基礎知識ですので、これらの約束事を理解しておきましょう。
おかしな点がある場合はご指摘お願いします。
ここまで読んでくださり、ありがとうございました。
ハート押してくださるとモチベになります。