blob: 354434ecf0bf498b61333804c3cb185831f8a799 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
---
title: PUT
slug: Web/HTTP/Methods/PUT
tags:
- HTTP
- Reference
- リクエストメソッド
translation_of: Web/HTTP/Methods/PUT
---
<div>{{HTTPSidebar}}</div>
<p><strong>HTTP の <code>PUT</code> リクエストメソッド</strong>は、新しいリソースを作成するか、指定したリソースの表現をリクエストのペイロードで置き換えます。</p>
<p><code>PUT</code> と {{HTTPMethod("POST")}} との違いは、<code>PUT</code> はべき等であり、呼び出し回数が1回でも複数回でも同じ効果になります(<em>副</em>作用がありません)が、連続して同じ {{HTTPMethod("POST")}} を実行すると、注文を複数回渡してしまうなどの追加の影響が発生する可能性があります。</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">リクエストの本文</th>
<td>あり</td>
</tr>
<tr>
<th scope="row">成功時のレスポンスの本文</th>
<td>なし</td>
</tr>
<tr>
<th scope="row">{{Glossary("Safe", "安全性")}}</th>
<td>なし</td>
</tr>
<tr>
<th scope="row">{{Glossary("Idempotent", "べき等性")}}</th>
<td>あり</td>
</tr>
<tr>
<th scope="row">{{Glossary("Cacheable", "キャッシュ")}}</th>
<td>不可</td>
</tr>
<tr>
<th scope="row"><a href="/ja/docs/Web/Guide/HTML/Forms">HTML フォーム</a>での使用</th>
<td>不可</td>
</tr>
</tbody>
</table>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="syntaxbox notranslate">PUT /new.html HTTP/1.1
</pre>
<h2 id="Example" name="Example">例</h2>
<h3 id="Request" name="Request">リクエスト</h3>
<pre class="notranslate">PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16
<p>New File</p></pre>
<h3 id="Response" name="Response">レスポンス</h3>
<p>対象リソースに現在の表現が存在せず、 <code>PUT</code> リクエストによって正常に作成された場合、サーバーは {{HTTPStatus("201")}} (<code>Created</code>) レスポンスをユーザーエージェントに通知します。</p>
<pre class="newpage notranslate">HTTP/1.1 201 Created
Content-Location: /new.html</pre>
<p>対象リソースに現在の表現が存在し、その表現が内容の表現の状態に従って変更が完了した場合、サーバーは {{HTTPStatus("200")}} (<code>OK</code>) または {{HTTPStatus("204")}} (<code>No Content</code>) の何れかのレスポンスによって、リクエストが正常に完了したことを示します。</p>
<pre class="notranslate">HTTP/1.1 204 No Content
Content-Location: /existing.html
</pre>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">題名</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{RFC("7231", "PUT", "4.3.4")}}</td>
<td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("http.methods.PUT")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{HTTPStatus("201")}}</li>
<li>{{HTTPStatus("204")}}</li>
</ul>
|