意味
リクエストが成功し、新しいリソースが作成されました。通常 Location ヘッダーがそれを指します。
よくある原因
- コレクションへの POST でレコードが作成された
- PUT で新しい URL にリソースが作成された
対処法
クライアント・閲覧者の場合
Location ヘッダーから新しいリソースの URL を取得するか、API がボディに作成オブジェクトを含めていればそれを使います。
サイトや API の運営者の場合
新しい URL を Location に入れ、できれば作成した表現も返します。何も作成していないのに 201 を返さないこと。冪等な再試行で既存の項目が見つかった場合は 200 か 409 を返せます。
レスポンス例
HTTP/1.1
HTTP/1.1 201 Created
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: /users/42
Content-Type: application/json
{
"id": 42,
"name": "Ada"
} 仕様
よくある質問
› 201 に Location ヘッダーは必須?
強く推奨されます。ないとクライアントはボディから新しい URL を推測するしかありません。
› 201 と 202 の違いは?
201 はリソースがすでに存在することを、202 はリクエストが受け付けられ後で処理されることを意味します。