The HTTP PUT request method creates a new resource or replaces a representation of the target resource with the request payload.
The difference between
POST is that
PUT is idempotent: calling it once or several times successively has the same effect (that is no side effect), where successive identical
POST may have additional effects, like passing an order several times.
|Request has body||Yes|
|Successful response has body||No|
|Allowed in HTML forms||No|
PUT /new.html HTTP/1.1
PUT /new.html HTTP/1.1 Host: example.com Content-type: text/html Content-length: 16 <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 inform the user agent by sending a
HTTP/1.1 201 Created Content-Location: /new.html
If the target resource does have a current representation and that representation is successfully modified in accordance with the state of the enclosed representation, then the origin server must send either a
OK) or a
No Content) response to indicate successful completion of the request.
HTTP/1.1 204 No Content Content-Location: /existing.html
|RFC 7231, section 4.3.4: PUT||Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content|
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
|Chrome||Edge||Firefox||Internet Explorer||Opera||Safari||Android webview||Chrome for Android||Edge Mobile||Firefox for Android||Opera for Android||iOS Safari||Samsung Internet|
|Basic support||Chrome Full support Yes||Edge Full support Yes||Firefox Full support Yes||IE Full support Yes||Opera Full support Yes||Safari Full support Yes||WebView Android Full support Yes||Chrome Android Full support Yes||Edge Mobile Full support Yes||Firefox Android Full support Yes||Opera Android Full support Yes||Safari iOS Full support Yes||Samsung Internet Android Full support Yes|
- Full support
- Full support