Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

HTTP 201(エイチティーティーピーにひゃくぜろいち)とは | 意味や読み方など丁寧でわかりやすい用語解説

HTTP 201(エイチティーティーピーにひゃくぜろいち)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

HTTP 201 (エッチティーティーピー・ツー・オー・ワン)

英語表記

HTTP 201 (エイチティーティーピーにひゃくいち)

用語解説

HTTP 201は、HTTPステータスコードの一つであり、「Created」というメッセージを持つ。これは、クライアントから送信されたリクエストがサーバーによって正常に処理され、その結果として新しいリソースがサーバー上に作成されたことを示す。WebアプリケーションやAPI、特にRESTful APIと呼ばれる設計思想に基づいたシステムにおいて、リソースの生成が成功したことをクライアントに伝えるために重要な役割を果たす。HTTPステータスコードは、クライアントとサーバー間の通信の状態を伝えるための3桁の数字であり、200番台(2xx)はリクエストが成功したことを意味するクラスに分類される。その中でも201は、単に「成功した」という以上の、「新しい何かが作られた」という具体的な成果を伴う成功を意味する、非常に明確なステータスコードである。一般的な成功を示す「200 OK」とは区別され、リソース作成という特定の状況で用いられる。

HTTP 201 Createdをより深く理解するためには、まずHTTP通信の基本的な流れと、リクエストメソッドとの関連性を把握する必要がある。クライアントがサーバーにリソースの作成を要求する際には、主にPOSTメソッドまたはPUTメソッドが使用される。POSTメソッドは、指定されたURIに対して新しいリソースを作成するために使われる。例えば、ブログシステムで新しい記事を投稿する場合や、SNSで新しいユーザーアカウントを登録する場合などがこれに該当する。この場合、新しく作成されるリソースの具体的なURI(場所を示す識別子)はサーバー側で決定されることが多い。一方、PUTメソッドは、クライアントが指定したURIにリソースを作成、または既存のリソースを置換するために使われる。クライアントがリソースのURIを明確に指定して作成を要求するケースで利用される。サーバーがこれらのメソッドによるリクエストを受け付け、データベースへのレコード追加やファイルの生成などを正常に完了させた場合に、クライアントに対して201 Createdを返す。このレスポンスを受け取ったクライアントは、自身の要求が正しく処理され、目的のリソースがサーバー上に存在していることを確信できる。

HTTP 201レスポンスの最も重要な特徴は、通常Locationヘッダーフィールドを伴うことである。このヘッダーには、作成された新しいリソースのURIが値として含まれる。例えば、/articlesというエンドポイントに新しいブログ記事をPOSTリクエストで投稿し、サーバーがその記事に「123」というIDを割り当てたとすると、サーバーは201 Createdのステータスコードと共に、Location: /articles/123というヘッダーを返す。これにより、クライアントは新しく作成した記事にアクセスするための正確な場所を知ることができる。この情報は非常に有用であり、クライアントは続けてそのURIに対してGETリクエストを送信して作成したリソースの詳細情報を取得したり、PUTDELETEリクエストで内容を更新・削除したりすることが可能になる。また、レスポンスボディには、作成されたリソースの表現(例えば、記事のID、タイトル、本文などを含むJSONデータ)が含まれることも多い。これにより、クライアントはLocationヘッダーのURIへ再度アクセスすることなく、作成されたリソースの情報を即座に利用できる。

よく比較される「200 OK」との違いを明確にすることは、201 Createdの役割を理解する上で不可欠である。200 OKは、リクエストが成功したことを示す汎用的なステータスコードであり、リソースの取得(GET)や既存リソースの更新(PUT, PATCH)など、幅広い状況で使用される。リソース作成を要求するPOSTリクエストに対して200 OKが返されることもあり得るが、これはリソースの作成がリクエストの直接的な結果ではない場合(例えば、作成処理が非同期で行われるためにキューに登録された場合など)や、レスポンスボディに何らかのステータスメッセージを含んで応答する場合に用いられることがある。しかし、REST APIの設計においては、リクエストによって同期的に新しいリソースが作成された場合には、201 Createdを返すことが強く推奨される。なぜなら、201 Createdはリソースが「作成された」という事実を意味論的に明確に伝え、さらにLocationヘッダーによってその場所を示すという、より具体的で有用な情報を提供するからである。システムエンジニアを目指す上で、このように各ステータスコードが持つ固有の意味を正しく理解し、コンテキストに応じて適切に使い分ける能力は、堅牢で分かりやすいシステムを設計するための基礎となる。HTTP 201 Createdは、Webにおけるリソース作成の成功を伝えるための、標準的かつ強力なコミュニケーション手段なのである。

関連コンテンツ