MEJOR SITIO PARA DESARROLLADORES WEB
W3Schools en español. La guía de etiquetas completa

Ua En De Fr

HTTP Métodos de solicitud


¿Qué es HTTP?

El Protocolo de transferencia de hipertexto (Hypertext Transfer Protocol - HTTP) está diseñado para permitir las comunicaciones entre clientes y servidores.

HTTP funciona como un protocolo de solicitud-respuesta entre un cliente y un servidor.

Ejemplo: un cliente (navegador) envía una solicitud HTTP al servidor; luego el servidor devuelve una respuesta al cliente. La respuesta contiene información del estado de la solicitud y también puede contener el contenido solicitado.


Métodos HTTP

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS
  • CONNECT
  • TRACE

Los dos métodos HTTP más comunes son: GET y POST.


El método GET

GET se utiliza para solicitar datos de un recurso específico.

Tenga en cuenta que la cadena de consulta (pares nombre/valor) se envía en la URL de una solicitud GET:

/test/demo_form.html?name1=value1&name2=value2

Algunas notas sobre solicitudes GET:

  • Las solicitudes GET se pueden almacenar en caché
  • Solicitudes GET para permanecer en el historial del navegador
  • Las solicitudes GET se pueden marcar como favoritas
  • Las solicitudes GET nunca deben usarse cuando se trata de datos confidenciales
  • Las solicitudes GET tienen restricciones de longitud
  • Las solicitudes GET solo se utilizan para solicitar datos (no modificar)

El método POST

POST se utiliza para enviar datos a un servidor para crear/actualizar un recurso.

Los datos enviados al servidor con POST se almacenan en el cuerpo de la solicitud HTTP:

POST /test/demo_form.html HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

Algunas notas sobre solicitudes POST:

  • Las solicitudes POST nunca se almacenan en caché
  • Las solicitudes POST no permanecen en el historial del navegador
  • Las solicitudes POST no se pueden marcar como favoritas
  • Las solicitudes POST no tienen restricciones en la longitud de los datos

Comparar GET y POST

La siguiente tabla compara los dos métodos HTTP: GET y POST.

  GET POST
Botón ATRÁS/Recargar Inofensivo Los datos se volverán a enviar (el navegador debe alertar al usuario que los datos están a punto de volver a enviarse)
Marcado como favorito Se puede marcar como favorito No se puede marcar como favorito
En caché Se puede almacenar en caché No almacenado en caché
Tipo de codificación aplicación/x-www-form-urlencoded aplicación/x-www-form-urlencoded o multipart/form-data. Utilice codificación multiparte para datos binarios
Historia Los parámetros permanecen en el historial del navegador Los parámetros no se guardan en el historial del navegador
Restricciones en la longitud de los datos Sí, al enviar datos, el método GET agrega los datos a la URL; y la longitud de una URL es limitada (la longitud máxima de la URL es 2048 caracteres) Sin restricciones
Restricciones sobre el tipo de datos Solo se permiten caracteres ASCII Sin restricciones. También se permiten datos binarios
Seguridad GET es menos seguro en comparación con POST porque los datos enviados son parte de la URL

¡Nunca utilice GET al enviar contraseñas u otra información confidencial!
POST es un poco más seguro que GET porque los parámetros no se almacenan en el historial del navegador ni en los registros del servidor web
Visibilidad Los datos son visibles para todos en la URL Los datos no se muestran en la URL

El método PUT

PUT se utiliza para enviar datos a un servidor para crear/actualizar un recurso.

La diferencia entre POST y PUT es que las solicitudes PUT son idempotentes. Es decir, llamar a la misma solicitud PUT varias veces siempre producirá el mismo resultado. Por el contrario, llamar repetidamente a una solicitud POST tiene efectos secundarios al crear el mismo recurso varias veces.


El método HEAD

HEAD es casi idéntico a GET, pero sin el cuerpo de la respuesta.

En otras palabras, si GET /users devuelve una lista de usuarios, entonces HEAD /users realizará la misma solicitud pero no devolverá la lista de usuarios.

Las solicitudes HEAD son útiles para comprobar qué devolverá una solicitud GET antes de realizar una solicitud GET, como antes de descargar un archivo grande o un cuerpo de respuesta.


El método DELETE

El método DELETE elimina el recurso especificado.


El método PATCH

El método PATCH se utiliza para aplicar modificaciones parciales a un recurso.


El método OPTIONS

El método OPTIONS describe las opciones de comunicación para el recurso de destino.


El método CONNECT

El método CONNECT se utiliza para iniciar una comunicación bidireccional (un túnel) con el recurso solicitado.


El método TRACE

El método TRACE se utiliza para realizar una prueba de bucle invertido de mensajes que prueba la ruta del recurso de destino (útil para fines de depuración).