HTTP リクエストメソッド

HTTP リクエストメソッドは、クライアントとサーバー間の通信方法を定義します。

HTTP 標準によれば、HTTP リクエストでは複数のリクエストメソッドを使用できます。

以下はよく使われる HTTP リクエストメソッドの一覧です:

番号メソッド説明
1GETサーバーからリソースを取得します。データを変更せずにデータをリクエストするために使用します。例えば、サーバーからウェブページや画像などを取得します。
2POST新しいリソースを作成するためにサーバーにデータを送信します。フォームデータの送信やファイルのアップロードによく使用されます。送信されるデータはリクエストボディに含まれます。
3PUT既存のリソースを更新するためにサーバーにデータを送信します。リソースが存在しない場合は、新しいリソースを作成します。POST とは異なり、PUT は通常べき等であり、同じ PUT リクエストを複数回実行しても異なる結果にはなりません。
4DELETE指定されたリソースをサーバーから削除します。リクエストには削除するリソースの識別子が含まれます。
5PATCHリソースを部分的に変更します。PUT に似ていますが、PATCH はリソース全体を置き換えるのではなく、一部のデータだけを変更します。
6HEADGET に似ていますが、サーバーは実際のデータを返さず、レスポンスのヘッダーのみを返します。リソースのメタデータを確認するために使用します(例:リソースが存在するかどうかの確認、レスポンスヘッダー情報の確認)。
7OPTIONSサーバーがサポートしている HTTP メソッドを返します。サーバーがどのリクエストメソッドをサポートしているかを確認するために使用し、通常はオリジン間リソース共有(CORS)のプリフライトリクエストに使用されます。
8TRACEサーバーが受信したリクエストをそのまま返します。主に診断に使用されます。クライアントはサーバー内でのリクエストの処理経路を確認できます。
9CONNECTサーバーへのトンネルを確立します。通常は HTTPS 接続に使用されます。クライアントはこのトンネルを介して暗号化されたデータを送信できます。

各バージョンで定義されているリクエストメソッド

HTTP/1.0

HTTP/1.0 では、次の3つのリクエストメソッドが定義されています:

  • GET- 指定されたリソースをリクエストします。
  • POST- リクエストを処理するためにデータを送信します。
  • HEAD- リソースのレスポンスヘッダー情報をリクエストします。

HTTP/1.1

HTTP/1.1 では、さらに多くのメソッドが導入されました:

  • GET- 指定されたリソースをリクエストします。
  • POST- リクエストを処理するためにデータを送信します。
  • HEAD- リソースのレスポンスヘッダー情報をリクエストします。
  • PUT- ファイルのアップロードまたはリソースの更新。
  • DELETE- 指定されたリソースの削除。
  • OPTIONS- サーバーがサポートしているリクエストメソッドを取得するリクエスト。
  • TRACE- サーバーが受信したリクエストをそのまま返します。主に診断に使用されます。
  • CONNECT- プロキシサーバーとの通信用のトンネルを確立します。通常は HTTPS に使用されます。

HTTP/2

HTTP/2 は基本的に HTTP/1.1 のメソッドを踏襲していますが、プロトコルが最適化され、転送効率と速度が向上しました。HTTP/2 では、多重化、ヘッダー圧縮、サーバープッシュなどの新機能も導入されています。

HTTP/3

HTTP/3 は QUIC プロトコルに基づいて実装され、HTTP/2 のメソッドを引き続き使用します。HTTP/3 は主にトランスポート層を改善し、TCP の代わりに UDP を使用して転送速度と信頼性を向上させます。

その他の拡張