PUT リクエストメソッド
HTTP の PUT メソッドは、新しいリソースを作成するか、指定したリソースの表現をリクエストのコンテンツで置き換えます。
PUT と POST との違いは、PUT はべき等であることです。1 回だけ呼び出しても、連続して複数回呼び出しても違いはありません(副作用がありません)。
構文
http
PUT <request-target>["?"<query>] HTTP/1.1
<request-target>-
Hostヘッダーで提供される情報と組み合わせたときの、リクエストのターゲットリソースを識別します。 これは元のサーバーへのリクエストにおいては絶対パス(/path/to/file.htmlなど)であり、プロキシーへのリクエストにおいては絶対 URL(http://www.example.com/path/to/file.htmlなど)です。 <query>省略可-
疑問符
?で始まるオプションのクエリー成分。 多くの場合、key=valueの組の形で識別情報を保持するために使用されます。
例
>リクエスト
次の PUT リクエストは、example.com/new.html に <p>新しいファイル</p> というコンテンツでリソースを作成するよう要求します。
http
PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16
<p>新しいファイル</p>
対象リソースに現在の表現が存在せず、 PUT リクエストによって正常に作成された場合、サーバーはユーザーエージェントに 201 Created レスポンスを通知します。
http
HTTP/1.1 201 Created
Content-Location: /new.html
対象リソースに現在の表現が存在し、その表現が内容の表現の状態に従って変更が完了した場合、サーバーは 200 OK または 204 No Content のどちらかのレスポンスによって、リクエストが正常に完了したことを示します。
http
HTTP/1.1 204 No Content
Content-Location: /existing.html
仕様書
| Specification |
|---|
| HTTP Semantics> # PUT> |
ブラウザーの互換性
ブラウザーはユーザー主導のアクションにPUTメソッドを使用しないため、「ブラウザー互換性」は適用されません。
開発者は fetch() を使ってこのリクエストメソッドを設定することができます。