公開:

HTTPステータスコードの「201 Created」とは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


HTTPステータスコードの「201 Created」とは

HTTPステータスコードの「201 Created」はクライアントからのリクエストが成功し、その結果新たなリソースが作成されたことを示すステータスコードです。このステータスコードはPOSTメソッドやPUTメソッドなどで新しいリソースを作成する際に返されます。

「201 Created」はリクエストが成功したことを示すだけでなく、新しく作成されたリソースのURLを示すLocationヘッダーフィールドも含まれています。これにより、クライアントは新しく作成されたリソースにアクセスできるようになります。

また、「201 Created」は作成されたリソースの実際の表現をレスポンスのボディに含めることができます。これはクライアントが作成されたリソースの詳細を即座に確認できるようにするためです。

200 OK」との違いは「200 OK」がリクエストが成功したことを示す一般的なステータスコードであるのに対し、「201 Created」は新しいリソースが作成されたという具体的な結果を示している点です。「201 Created」はPOSTリクエストやPUTリクエストに対する適切な応答として使用されます。

エラーを示すステータスコードとは異なり、「201 Created」はリクエストが正常に処理され、サーバー側で新しいリソースが作成されたことを示します。クライアント側はこのステータスコードを受け取ることで、リクエストが成功したことを確認できます。

HTTPステータスコードの「201 Created」が返される典型的なケース

「HTTPステータスコードの「201 Created」が返される典型的なケース」に関して、以下3つを簡単に解説していきます。

  • 新しいリソースをPOSTメソッドで作成した場合のHTTPステータスコード
  • PUTメソッドでリソースを新規作成した場合のHTTPステータスコード
  • 非同期処理でリソースを作成した場合のHTTPステータスコード

新しいリソースをPOSTメソッドで作成した場合のHTTPステータスコード

POSTメソッドを使用して新しいリソースを作成する際、サーバーは「201 Created」ステータスコードを返します。これはリクエストが成功し、新しいリソースが作成されたことを示しています。

例えば、ユーザーがWebフォームに情報を入力し、その情報を送信してサーバー上に新しいユーザーアカウントを作成する場合などがこれに該当します。サーバーは新しいユーザーアカウントを作成し、「201 Created」ステータスコードをレスポンスとして返すでしょう。

POSTメソッドは新しいリソースを作成するための一般的なHTTPメソッドであり、「201 Created」ステータスコードはその成功を示すために使用されます。これにより、クライアントは新しいリソースが正常に作成されたことを確認できます。

PUTメソッドでリソースを新規作成した場合のHTTPステータスコード

PUTメソッドを使用して新しいリソースを作成する場合、サーバーは「201 Created」ステータスコードを返します。PUTメソッドは指定されたURLにリソースを作成または更新するために使用されます。

PUTリクエストでリソースを新規作成する場合、クライアントは作成するリソースのURLを指定します。サーバーがそのURLでリソースを作成できた場合、「201 Created」ステータスコードを返し、新しく作成されたリソースを示します。

PUTメソッドでリソースを作成する場合、クライアントは作成するリソースの完全な表現をリクエストボディに含める必要があります。サーバーは受け取ったデータを使用してリソースを作成し、「201 Created」ステータスコードで成功を示します。

非同期処理でリソースを作成した場合のHTTPステータスコード

リソースの作成が非同期的に行われる場合、サーバーは「201 Created」ステータスコードを返すことがあります。非同期処理ではリクエストを受け取った時点ではリソースの作成が完了していない場合があります。

このような場合、サーバーは「201 Created」ステータスコードを返し、リソースの作成が開始されたことを示します。ただし、Locationヘッダーフィールドにはリソースの最終的なURLではなく、作成状況を確認するためのURLが含まれることがあります。

クライアントはLocationヘッダーに示されたURLにアクセスすることで、リソース作成の状況を確認できます。非同期処理が完了し、リソースが利用可能になると、サーバーは最終的なリソースのURLを提供します。

HTTPステータスコードの「201 Created」とLocationヘッダーの関係

「HTTPステータスコードの「201 Created」とLocationヘッダーの関係」に関して、以下3つを簡単に解説していきます。

  • Locationヘッダーがレスポンスに含まれる理由
  • Locationヘッダーに含まれるURLの意味
  • クライアントがLocationヘッダーを処理する方法

Locationヘッダーがレスポンスに含まれる理由

「201 Created」ステータスコードが返される際、レスポンスにはLocationヘッダーフィールドが含まれます。Locationヘッダーは新しく作成されたリソースのURLを示すために使用されます。

Locationヘッダーがレスポンスに含まれる主な理由はクライアントに新しく作成されたリソースのURLを通知することです。これにより、クライアントは新しいリソースに直接アクセスできるようになります。

例えば、POSTリクエストによって新しいリソースが作成された場合、サーバーは「201 Created」ステータスコードとともに、作成されたリソースのURLをLocationヘッダーに含めて返します。クライアントはこのURLを使用して、新しいリソースにアクセスできます。

Locationヘッダーに含まれるURLの意味

Locationヘッダーに含まれるURLは新しく作成されたリソースの場所を示します。このURLはクライアントが新しいリソースにアクセスするために使用できます。

Locationヘッダーに含まれるURLは通常、新しいリソースの完全なURLです。これにはプロトコル(HTTPまたはHTTPS)、ドメイン名、リソースのパス、およびクエリパラメータ(必要な場合)が含まれます。

例えば、新しいユーザーアカウントが作成された場合、Locationヘッダーには以下のようなURLが含まれる可能性があります。

Location: https://api.example.com/users/123

このURLは新しく作成されたユーザーアカウントのリソースを示しています。クライアントはこのURLを使用して、ユーザーアカウントの詳細情報を取得できます。

クライアントがLocationヘッダーを処理する方法

クライアントは「201 Created」ステータスコードとともにLocationヘッダーを受け取ると、そのURLを使用して新しく作成されたリソースにアクセスできます。クライアントはLocationヘッダーに示されたURLに対して別のリクエストを送信することで、リソースの詳細情報を取得します。

例えば、クライアントがPOSTリクエストを送信して新しいリソースを作成し、レスポンスとして「201 Created」ステータスコードとLocationヘッダーを受け取ったとします。クライアントはLocationヘッダーに示されたURLに対してGETリクエストを送信することで、新しいリソースの詳細情報を取得できます。

Locationヘッダーを処理することで、クライアントは新しく作成されたリソースを活用できます。クライアントはLocationヘッダーに示されたURLを保存し、必要に応じてそのURLを使用してリソースにアクセスできます。

HTTPステータスコードの「201 Created」とリソース作成の確認方法

「HTTPステータスコードの「201 Created」とリソース作成の確認方法」に関して、以下3つを簡単に解説していきます。

  • レスポンスボディによるリソース作成の確認
  • Locationヘッダーを使用したリソース作成の確認
  • 他のAPIエンドポイントを使用したリソース作成の確認

レスポンスボディによるリソース作成の確認

「201 Created」ステータスコードが返される際、レスポンスボディに作成されたリソースの表現が含まれることがあります。これにより、クライアントはリソースが正常に作成されたことを確認できます。

レスポンスボディには作成されたリソースのデータが含まれます。これにはリソースの属性や関連するデータなどが含まれる場合があります。クライアントはこのデータを解析することで、リソースの詳細を把握できます。

ただし、レスポンスボディにリソースの表現が含まれるかどうかはAPIの設計によって異なります。一部のAPIでは「201 Created」ステータスコードのみを返し、レスポンスボディは空になることがあります。

Locationヘッダーを使用したリソース作成の確認

「201 Created」ステータスコードと共に返されるLocationヘッダーは作成されたリソースのURLを示します。クライアントはこのURLを使用してリソースが正常に作成されたことを確認できます。

Locationヘッダーに示されたURLに対してGETリクエストを送信することで、クライアントは作成されたリソースの詳細情報を取得できます。レスポンスのステータスコードが「200 OK」であり、リソースのデータが返される場合、リソースが正常に作成されたことが確認できます。

Locationヘッダーを使用したリソース作成の確認はレスポンスボディにリソースの表現が含まれない場合に特に有用です。クライアントはLocationヘッダーに示されたURLを使用して、作成されたリソースにアクセスし、その存在を確認できます。

他のAPIエンドポイントを使用したリソース作成の確認

リソースの作成を確認するもう一つの方法は他のAPIエンドポイントを使用することです。作成されたリソースに関連する他のエンドポイントがある場合、クライアントはそれらを使用してリソースの存在を確認できます。

例えば、新しいユーザーアカウントを作成した後、ユーザー一覧を取得するエンドポイントを呼び出すことで、新しいユーザーがリストに含まれているかどうかを確認できます。同様に、作成されたリソースに関連する他の操作を実行することで、リソースが正常に作成されたことを間接的に確認できます。

ただし、この方法はAPIの設計に依存します。すべてのAPIが関連するエンドポイントを提供しているとは限りません。また、他のエンドポイントを使用する前に、作成されたリソースが反映されるまでに時間がかかる場合があります。

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「インターネット」に関するコラム一覧「インターネット」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。