El método HTTP POST envía datos al servidor.
Tal vez puede confundir el hecho de que si HTTP POST es una "solicitud HTTP", ¿cómo es que en una solicitud se "envían datos al servidor"? Para que no confundir esta posible distorsión solicitud-envío, piensa en un formulario de datos en la Web. Cuando llenas el formulario y haces click en el botón enviar del formulario, tú estas enviando un mensaje HTTP al servidor. En el cuerpo de este mensaje HTTP, se envía la información que haz llenado en el formulario. En otras palabras, estás realizando una solicitud y en el cuerpo de esta solicitud, incluyes la información que quieres enviar al servidor.
Indicar el tipo de contenido es importante...
Otra tema importante en este método es que, ya que estás enviando información en el cuerpo del mensaje HTTP, es necesario que indiques qué tipo de información estás enviado. Para esto, debes indicar en la cabecera Content-Type. el tipo de contenido que estás enviando.
Ejemplo:
POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded Content-Length: 13
say=Hi&to=Mom
En este ejemplo, el usuario tiene un formulario y cuando pulsa el botón enviar, se envía una solicitud HTTP que utiliza el método POST para enviar el contenido del formulario como lo muestra la última línea "say=Hi&to=Mom". Nota que el valor de la cabecera "Content-Type" establece que la información enviada es del tipo "form", que corresponde a información de un formulario.