--- title: PUT slug: Web/HTTP/Methods/PUT tags: - HTTP - Método HTTP - Petición translation_of: Web/HTTP/Methods/PUT ---
La petición HTTP PUT crea un nuevo elemento o reemplaza una representación del elemento de destino con los datos de la petición.
La diferencia entre el método PUT y el método {{HTTPMethod("POST")}} es que PUT es un método idempotente: llamarlo una o más veces de forma sucesiva tiene el mismo efecto (sin efectos secundarios), mientras que una sucesión de peticiones POST idénticas pueden tener efectos adicionales, como envíar una orden varias veces.
| Petición con cuerpo | Sí |
|---|---|
| Respuesta (correcta) con cuerpo | No |
| {{Glossary("Seguro")}} | No |
| {{Glossary("Idempotente")}} | Yes |
| {{Glossary("Cacheable")}} | No |
| Permitido en HTML forms | No |
PUT /nuevo.html HTTP/1.1
PUT /nuevo.html HTTP/1.1 Host: ejemplo.com Content-type: text/html Content-length: 16 <p>Nuevo Archivo</p>
Si el elemento de destino no existe y la petición PUT lo crea de forma satisfactoria, entonces el servidor debe informar al usuario enviando una respuesta {{HTTPStatus("201")}} (Created) .
HTTP/1.1 201 Created Content-Location: /nuevo.html
Si el elemento existe actualmente y es modificado de forma satisfactoria, entonces el servidor de origen debe enviar una respuesta {{HTTPStatus("200")}} (OK) o una respuesta {{HTTPStatus("204")}} (No Content) para indicar que la modificación del elemento se ha realizado sin problemas.
HTTP/1.1 204 No Content Content-Location: /existente.html
| Specification | Title |
|---|---|
| {{RFC("7231", "PUT", "4.3.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
{{Compat("http.methods.PUT")}}