--- title: POST slug: Web/HTTP/Methods/POST tags: - HTTP - Metodo de pedido - Referencia translation_of: Web/HTTP/Methods/POST ---
{{HTTPSidebar}}
El método HTTP POST envía datos al servidor. El tipo del cuerpo de la solicitud es indicada por la cabecera  {{HTTPHeader("Content-Type")}}.
La diferencia entre PUT y {{HTTPMethod("POST")}} es que PUT es idempotente: llamarlo una o varias veces sucesivamente tiene el mismo efecto (no tiene efecto secundario // colateral), mientras que varios POST idénticos pueden tener efectos adicionales, como pasar una orden muchas veces.

Una solicitud POST es tipicamente enviada por un formulario HTML y resulta en un cambio en el servidor. En este caso, el tipo de contenido es seleccionado poniendo la cadena de texto adecuada en el atributo {{htmlattrxref("enctype", "form")}} del elemento {{HTMLElement("form")}} o el atributo {{htmlattrxref("formenctype", "input")}}  de los elementos {{HTMLElement("input") }} o {{HTMLElement("button")}} :

Cuando la solicitud POST es enviada por otro método distinto a un formulario HTML  — por ejemplo mediante una {{domxref("XMLHttpRequest")}} — el cuerpo puede aceptar cualquier tipo. Como se describe en la especificación HTTP 1.1, el método POST está diseñado para permitir un método uniforme que cubra las siguientes funciones:

Pedir como cuerpo
Respuesta válida como cuerpo
{{Glossary("Seguro")}} No
{{Glossary("Idempotente")}} No
{{Glossary("Cacheable")}} Sólo si incluye nueva información
Permitido en HTML forms

Sintaxis

POST /index.html

Ejemplo

Un formulario simple empleando el tipo de contenido por defecto application/x-www-form-urlencoded:

POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13

say=Hi&to=Mom

Un formulario usando el tipo de contenido multipart/form-data:

POST /test.html HTTP/1.1
Host: example.org
Content-Type: multipart/form-data;boundary="boundary"

--boundary
Content-Disposition: form-data; name="field1"

value1
--boundary
Content-Disposition: form-data; name="field2"; filename="example.txt"

value2

Especificaciones

Specification Title
{{RFC("7231", "POST", "4.3.3")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

{{Compat("http.methods.POST")}}

Ver también