Los últimos tutoriales de desarrollo web
 

Métodos HTTP: GET vs. POSTAL


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


¿Qué es HTTP?

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

HTTP funciona como un protocolo de petición-respuesta entre un cliente y el servidor.

Un navegador web puede ser el cliente y una aplicación en un equipo que aloja un sitio web puede ser el servidor.

Ejemplo: Un cliente (navegador) envía una solicitud HTTP al servidor; a continuación, 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.


Dos Métodos de petición HTTP: GET y POST

Dos métodos comúnmente utilizados para una petición-respuesta entre un cliente y el servidor son: GET y POST.

  • GET - Pide a los datos de un recurso especificado
  • Post - los datos adjunte a procesar a un recurso especificado

El método GET

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

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

Algunas otras notas sobre peticiones GET:

  • Peticiones GET pueden almacenar en caché
  • Las peticiones GET permanecen en el historial del navegador
  • Peticiones GET se pueden marcar
  • Peticiones GET nunca deben ser utilizados cuando se trata de datos sensibles
  • Peticiones GET tienen restricciones de longitud
  • Peticiones GET sólo se deben usar para recuperar datos

El método POST

Tenga en cuenta que la cadena de consulta (pares de nombre / valor) se envía en el cuerpo del mensaje HTTP de una petición POST:

POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2

Algunas otras notas sobre las peticiones POST:

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

Comparar GET vs. POSTAL

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

OBTENER ENVIAR
botón BACK / Recargar Inofensivo se volverán a presentarse los datos (el navegador debe alertar al usuario de que los datos están a punto de ser re-presentado)
marcado Puede ser marcado como favorito no puede ser marcado como favorito
En caché Puede ser almacenado en caché no en caché
tipo de codificación application / x-www-form-urlencoded application / x-www-form-urlencoded o multipart / form-data. Utilice la codificación de varias partes de datos binarios
Historia Los parámetros permanecen en el historial del navegador Los parámetros no se guardan en el historial del navegador
Restricciones a la longitud de los datos Sí, cuando el envío de datos, el método GET añade los datos a la URL; y la longitud de un URL es limitado (longitud máxima URL es de 2048 caracteres) Sin restricciones
Restricciones en el tipo de datos Sólo los caracteres ASCII permitidos Sin restricciones. También se permite datos binarios
Seguridad GET es menos seguro en comparación con el post porque los datos enviados es parte de la URL

Nunca use GET al enviar contraseñas u otra información sensible!
POST es un poco más seguro que conseguir porque los parámetros no se almacenan en el historial del navegador o en los registros del servidor web
Visibilidad Los datos son visibles para todos los miembros de la URL Los datos no se muestra en la URL

Otros métodos HTTP Request

En la siguiente tabla se muestran algunos otros métodos de petición HTTP:

Método Descripción
HEAD Lo mismo que se obtiene, pero sólo devuelve las cabeceras HTTP y ningún cuerpo del documento
PUT Carga un representación de la URI especificada
DELETE Elimina el recurso especificado
OPTIONS Devuelve los métodos HTTP que admite el servidor
CONNECT Convierte la conexión petición de un túnel transparente TCP / IP