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