Get to know MDN better
The PUT HTTP method creates a new resource or replaces a representation of the target resource with the request content.
The difference between PUT and POST is that PUT is idempotent: calling it once is no different from calling it several times successively (there are no side effects).
| Yes |
| May |
| No |
| Yes |
| No |
| No |
Identifies the target resource of the request when combined with the information provided in the Host header. This is an absolute path (e.g., /path/to/file.html) in requests to an origin server, and an absolute URL in requests to proxies (e.g., http://www.example.com/path/to/file.html).
<query> OptionalAn optional query component preceded by a question-mark ?. Often used to carry identifying information in the form of key=value pairs.
The following PUT request asks to create a resource at example.com/new.html with the content <p>New File</p>:
If the target resource does not have a current representation and the PUT request successfully creates one, then the origin server must send a 201 Created response:
If the target resource does have a current representation and that representation is successfully modified with the state in the request, the origin server must send either a 200 OK or a 204 No Content to indicate successful completion of the request:
| HTTP Semantics # PUT |
The browser doesn't use the PUT method for user-initiated actions, so "browser compatibility" doesn't apply. Developers can set this request method using fetch().
This page was last modified on Jul 4, 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.