Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Front-end

HTTP: Diferencias entre GET y POST

Yuri Matheus
Yuri Matheus
20/10/2020

Compartir

Mira este artículo:
  1. Conociendo al HTTP
  2. Conociendo los verbos
  3. Conociendo otros verbos

Cuando vamos a acceder a un sistema web, es bastante común pasar por una pantalla de inicio de sesión, en la que ponemos nuestras credenciales para acceder al sistema.

Estas informaciones deben ser confidenciales, sin embargo, cuando intenté iniciar sesión en una aplicación web que estaba desarrollando, obtuve el siguiente resultado:

Vea que nuestros parámetros (correo electrónico y contraseña) fueron pasados por la URI, que no es muy seguro, ¿verdad? Por lo general, cuando iniciamos sesión en algunos sitios, no sucede, al menos en la mayoría de ellos.

Estas informaciones en la URL están expuestas, no solo si alguien está cerca y ve lo que escribió. Pero también cuando estas informaciones viajan por Internet. Qué es una vulnerabilidad de seguridad.

Lo que define el lugar donde se pasan los parámetros es el Protocolo de comunicación de la web, HTTP.

Conociendo al HTTP

El HTTP es el protocolo responsable de la comunicación de sitios en la web. Cuando accedemos a un sitio web, utilizamos este protocolo. Este protocolo tiene algunos métodos o, como también se les llama, verbos.

Los verbos HTTP definen qué acción se debe realizar y, según el verbo, el servidor puede dar una respuesta diferente.

Conociendo los verbos

Uno de los verbos más comunes de HTTP es el GET. Cuando usamos el GET, los parámetros se pasan en el encabezado de la solicitud. Por lo tanto, se pueden ver por la URI, como en el caso de nuestro formulario de inicio de sesión.

Este verbo es el estándar para enviar datos cuando enviamos un formulario HTTP. Entonces, en el ejemplo anterior, se usó GET. Sin embargo, podemos cambiar este comportamiento al decirle al formulario cuál del método (method) usará.

En el caso de formularios web, es muy común que este método sea el POST:

<form action="/logar" method="post">

El POST, a diferencia del GET, envía los parámetros en el cuerpo de la solicitud HTTP. Escondiéndolos de la URI:

Eso significa que si usamos el POST ¿protegemos los datos enviados por el formulario, ya que no aparecen en la URI?

No exactamente. Lo único que POST hace es enviar los parámetros en el cuerpo de la solicitud. Si inspeccionamos la requisición, tenemos acceso a ellos.

Si realmente queremos proteger nuestra aplicación, debemos utilizar la "versión segura" de HTTP, HTTPS. Con ella, podemos cifrar los datos enviados.

Ambos verbos se usan ampliamente en formularios en la web y tienen otras diferencias más entre sí.

Como el GET envía los datos en el encabezado de la solicitud, tiende a ser, no una regla, un poco más performático que el POST.

Sin embargo, al enviar los datos en el encabezado de la solicitud, el GET tiene un tamaño máximo de datos que se puede enviar, que en general es 255 caracteres. Con POST, podemos enviar informaciones un poco más grandes, como imágenes. Es decir, si intentamos pasar una gran cantidad de información a través de GET, algunas partes se pueden perder en el camino.

Con esto, puedes estar pensando que usar el POST es la mejor manera, ya que encapsula los datos en el cuerpo de la solicitud y consigue transportar más datos que el GET, por lo tanto, usaremos el POST en todo lugar.

Sin embargo, si hay dos verbos diferentes, es porque están destinados a usarse en diferentes lugares. Solicitudes de tipo GET se recomiendan para obtener datos de un recurso determinado. Como en un formulario de búsqueda o en un listado de todos los productos registrados.

Las requisiciones POST se utilizan principalmente para enviar información a procesar, como al crear algún recurso, como un producto o un cliente.

Conociendo otros verbos

Además del GET y del POST, hay otros verbos HTTP que se pueden utilizar. Por ejemplo, si queremos eliminar algún recurso, podemos usar el verbo DELETE.

Si queremos actualizar los datos, podemos utilizar el PUT, que reemplaza todas las informaciones de un recurso en particular, por ejemplo, un producto. O usar el verbo PATCH que actualiza parcialmente los datos de un producto.

Todos estos verbos se utilizan ampliamente en el mundo web. Especialmente cuando usamos el modelo REST.

Conocer el protocolo HTTP y sus verbos es muy valioso para un desarrollador web. Alura ofrece cursos y formaciones completas para que aprendas nuevas tecnologías del mundo de negocios. A través de nuestra comunidad activa, clases de video de alta calidad y ejercicios prácticos, ¡Estarás preparado en poco tiempo!

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Artículo Anterior
Por una web más rápida: 26 técnicas de optimización de Sitios Web
Siguiente Artículo
¿Cómo funciona el import y export de JavaScript?

Ver otros artículos sobre Front-end

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast