En las páginas web actuales, los clientes (también llamados na­ve­ga­do­res) no solo obtienen un elemento HTML del servidor, sino que también envían in­fo­r­ma­ción como la siguiente:

  • El texto de búsqueda que el usuario ha escrito en el motor de búsqueda
  • El contenido de los fo­r­mu­la­rios
  • El filtro de selección en tiendas online
  • El orden de una lista

Para enviar ciertos tipos de in­fo­r­ma­ción al servidor, el protocolo HTTP provee di­fe­re­n­tes métodos de petición. Los dos más im­po­r­ta­n­tes son GET y POST, los cuales, aunque entregan los mismos re­su­l­ta­dos, revelan algunas di­fe­re­n­cias entre ellos. Lee a co­n­ti­nua­ción cuáles son estas di­fe­re­n­cias y cuándo conviene utilizar uno u otro.

Consejo

Si quieres aprender más sobre los métodos de petición en general, no te pierdas nuestro artículo sobre las pe­ti­cio­nes HTTP en nuestra guía.

Dominios web
Compra y registra tu dominio ideal
  • Gratis SSL Wildcard para tra­n­s­fe­re­n­cias de datos más seguras
  • Gratis registro privado para más pri­va­ci­dad

Métodos de petición HTTP: GET

Con el método GET, los datos que se envían al servidor se escriben en la misma dirección URL. En la ventana del navegador, lo en­co­n­tra­rás así:

www.ejemplo.com/registrarse.php?nombre=pedro&apellido=perez&edad=55&genero=hombre

Toda la in­fo­r­ma­ción in­tro­du­ci­da por el usuario (los llamados “pa­rá­me­tros URL”) se tra­n­s­mi­ten tan abie­r­ta­me­n­te como el URL en sí mismo. Esto tiene ventajas y de­s­ve­n­ta­jas.

Ventajas de GET

Los pa­rá­me­tros URL se pueden guardar junto a la dirección URL como marcador. De esta manera, puedes in­tro­du­cir una búsqueda y más tarde co­n­su­l­tar­la de nuevo fá­ci­l­me­n­te. También se puede volver a acceder a la página a través del historial del navegador.

Esto resulta práctico, por ejemplo, si visitas con asiduidad un mismo lugar en Google Maps o si guardas páginas web con co­n­fi­gu­ra­cio­nes de filtro de­te­r­mi­na­das.

De­s­ve­n­ta­jas de GET

La mayor de­s­ve­n­ta­ja del método GET es su débil pro­te­c­ción de los datos. Los pa­rá­me­tros URL que se envían quedan visibles en la barra de di­re­c­cio­nes del navegador y son ac­ce­si­bles sin clave en el historial de na­ve­ga­ción, en el caché y en el log de los se­r­vi­do­res.

Otra de­s­ve­n­ta­ja es que su capacidad es limitada: de­pe­n­die­n­do del servidor y del navegador, no es posible in­tro­du­cir más de 2000 ca­ra­c­te­res. Además, los pa­rá­me­tros URL solo pueden contener ca­ra­c­te­res ASCII (letras, números, signos, etc.) y no datos binarios como archivos de audio o imágenes.

Métodos de petición HTTP: POST

El método POST introduce los pa­rá­me­tros en la solicitud HTTP para el servidor. Por ello, no quedan visibles para el usuario. Además, la capacidad del método POST es ilimitada.

Ventajas de POST

En lo relativo a los datos, como, por ejemplo, al rellenar fo­r­mu­la­rios con nombres de usuario y co­n­tra­se­ñas, el método POST ofrece mucha di­s­cre­ción. Los datos no se muestran en el caché ni tampoco en el historial de na­ve­ga­ción. La fle­xi­bi­li­dad del método POST también resulta muy útil: no solo se pueden enviar textos cortos, sino también otros tipos de in­fo­r­ma­ción, como fotos o vídeos.

De­s­ve­n­ta­jas de POST

Cuando una página web que contiene un fo­r­mu­la­rio se actualiza (por ejemplo, cuando se retrocede a la página anterior) los datos del fo­r­mu­la­rio deben tra­n­s­fe­ri­r­se de nuevo (puede que alguna vez hayas recibido una de estas ad­ve­r­te­n­cias). Por este motivo, existe el riesgo de que los datos se envíen varias veces por error, lo que, en el caso de una tienda online, puede dar lugar a pedidos du­pli­ca­dos. No obstante, las webs modernas de las tiendas suelen estar pre­pa­ra­das para evitar este tipo de problemas.

Además, los datos tra­n­s­fe­ri­dos con el método POST no pueden guardarse junto al URL como marcador.

Co­m­pa­ra­ción entre los métodos GET y POST

GET POST
Vi­si­bi­li­dad Visible en la barra de di­re­c­cio­nes para el usuario Invisible para el usuario
Ma­r­ca­do­res e hi­s­to­ria­les de na­ve­ga­ción Los pa­rá­me­tros URL se guardan junto al URL Los pa­rá­me­tros URL no se guardan junto al URL
Caché y registro del servidor Los pa­rá­me­tros URL se guardan sin cifrar. Los pa­rá­me­tros URL no se guardan au­to­má­ti­ca­me­n­te
Co­m­po­r­ta­mie­n­to al ac­tua­li­zar el navegador o re­tro­ce­der Los pa­rá­me­tros URL no se envían de nuevo El navegador advierte de que los datos del fo­r­mu­la­rio se enviarán de nuevo
Tipo de datos Solo ca­ra­c­te­res ASCII Ca­ra­c­te­res ASCII y datos binarios
Longitud de datos Limitado al máximo del URL (2048 ca­ra­c­te­res) Ilimitado

¿Cuándo usar uno u otro?

El método POST es aco­n­se­ja­ble cuando el usuario debe enviar datos o archivos al servidor, como, por ejemplo, cuando se rellenan fo­r­mu­la­rios o se suben fotos.

El método GET es adecuado para la pe­r­so­na­li­za­ción de páginas web: el usuario puede guardar búsquedas, co­n­fi­gu­ra­cio­nes de filtros y or­de­na­cio­nes de listas junto al URL como ma­r­ca­do­res, de manera que en su próxima visita la página web se mostrará según sus pre­fe­re­n­cias.

A modo de resumen:

  • GET para la co­n­fi­gu­ra­ción de páginas web (filtros, or­de­na­ción, búsquedas, etc.)
  • POST para la tra­n­s­fe­re­n­cia de in­fo­r­ma­ción y datos
Ir al menú principal