見出し画像

リクエストとレスポンスについて

今回はWebシステムの基本となるリクエストとレスポンスについて記事を書いていこうと思います。


リクエストとレスポンスとは

Webシステムは利用するユーザーとサーバー(機能やサービスを提供する)のやり取りをしています。このやり取りでユーザーが要求することをリクエスト、要求された結果を返すことをレスポンスといいます。このやり取りでWebシステムが機能しています。

HTTPプロトコルの概要

HTTPは、ウェブ上の情報をやり取りするためのプロトコル(お約束事)であり、ユーザー(ブラウザなど)とサーバー(ウェブサイトなど)の間でデータを送受信しています。HTTPはクライアント/サーバーモデルに基づいており、先ほど記載したユーザーからのリクエストに対してサーバーがレスポンスを返す仕組みになっています。

リクエストの構造

リクエストの構造はメソッド、URI、ヘッダ、ボディとあり、以下内容になります。

メソッド(Method)
HTTPリクエストの最初の行には、リクエストの種類を示すHTTPメソッドが含まれています。主要なHTTPメソッドには以下があります。

  • GET: サーバーからリソースを取得します。主にブラウザからのリンクやブックマークなどで使用されます。

  • POST: サーバーにデータを送信し、リソースを作成または更新します。主にフォームの送信やデータの登録などで使用されます。

  • PUT: サーバーにリソースを置き換えます。既存のリソースを更新するために使用されます。

  • DELETE: サーバーからリソースを削除します。

URI
URIは、リクエストされるリソースの識別子を示します。URIは、スキーム(http://やhttps://など)、ホスト名、パスなどの要素で構成されています。たとえば、https://example.com/path/test/index のような形式になります。

ヘッダ(Headers)
HTTPリクエストには、追加の情報を含むヘッダが含まれています。ヘッダにはさまざまな種類がありますが、一般的なものには以下があります。

  • Host: リクエストを送信するサーバーのホスト名やIPアドレスを指定します。

  • User-Agent: クライアントが使用しているブラウザやアプリケーションの情報を示します。

  • Content-Type: リクエストのボディの種類を示します。

  • Authorization: 認証情報を含む場合があります。

他にも、Cookie、Acceptなど、さまざまな目的に使用されるヘッダがあります。

ボディ(Body)
一部のHTTPリクエストには、任意のデータがリクエストのボディに含まれる場合があります。たとえば、フォームの送信やJSONデータの送信などがこれに該当します。

レスポンスの構造

HTTPレスポンスにはステータスコード、ヘッダ、ボディと要素があり、以下が内容になります。

ステータスコード(Status Code)
HTTPレスポンスの最初の行には、サーバーからの応答の状態を示すステータスコードが含まれます。

ヘッダー(Headers)
HTTPレスポンスには、追加の情報を含むヘッダが含まれています。ヘッダにはさまざまな種類がありますが、一般的なものには以下があります。

  • Content-Type: レスポンスのボディの種類を示します。

  • Content-Length: レスポンスのボディの長さを示します。

  • Server: サーバーの種類やバージョンを示します。

  • Date: レスポンスが生成された日時を示します。

ボディ(Body)
HTTPレスポンスのボディには、実際のデータが含まれます。ボディはリクエストによって要求されたコンテンツやリソースを含むことがあります。HTMLページ、JSONデータ、画像ファイルなど、さまざまな形式のデータが含まれることがあります。

ステータスコード

レスポンスの要素でステータスコードを記載しましたが、以下のコードがあり3桁数字で表示されます。
100~199: 情報を示すステータスコード。
200~299: 成功を示すステータスコード。
300~399: リダイレクトを示すステータスコード。
400~499: クライアントエラーを示すステータスコード。
500~599: サーバーエラーを示すステータスコード。
各ステータスコードは特定の状況を示してくれます。

今回は以上になります。最後まで閲覧いただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?