Saltar al contenido

Categoría: 

¿Qué es HTTP?

que es http

Todos conocemos estas siglas, ¿verdad? Si no es así, fijaos cuando navegáis por Internet y observaréis que todas las direcciones web a las que accedemos empiezan con “http://”.

En este artículo te explicamos qué se esconde detrás de estas misteriosas letras. Como siempre, te lo contamos sin entrar en detalles técnicos.

http

Es un protocolo de transferencia. ¿Y eso qué significa?

Algo tan técnico como “Hypertext Transfer Protocol” es lo que se esconde detrás de las siglas HTTP. Si lo quisiéramos traducir al castellano, sería Protocolo de transferencia de hipertexto, aunque sigue siendo muy técnico, ¿no? Es una forma estándar para enviar y recibir la información necesaria para acceder a sitios web.

De manera general, el HTTP establece cómo se comunica un dispositivo, de ahora en adelante el cliente, con algún sitio web, de ahora en adelante el servidor. Así pues, HTTP se ideó para determinar cómo se envía una petición desde el cliente al servidor, y como este último devuelve la respuesta al primero. En la comunicación entre el cliente y el servidor intervendrán diferentes parámetros, algunos de los cuales ya te serán conocidos (como el archiconocido Error 404), y otros que te introduciremos aquí.

El ejemplo más típico es un navegador web. A través del navegador se enviará una petición al servidor, donde se aloja la web que hemos escrito. De esta manera, el servidor podrá devolver la información que corresponda a nuestras acciones.

Una de las características del HTTP es que no proporciona almacenamiento de información en cada comunicación. Es decir, cada comunicación es independiente de las comunicaciones realizadas anteriormente. Así pues, ¿cómo podemos acceder a una web si somos un usuario identificado? La respuesta es: con las cookies. Las famosas cookies permiten guardar información que luego será enviada junto con la petición a través de HTTP. En este artículo te explicábamos qué son las cookies.

La URL y los formularios de contacto (y otros)

Ya tenemos claro que el cliente envía una petición al servidor para recibir luego una respuesta con la información solicitada. Sin entrar en detalles técnicos, esta comunicación se realiza a través de mensajes de texto con una estructura fija (por eso se denomina protocolo).

De manera general, el mensaje de texto de la petición contendrá información acerca del equipo que envía esa petición, del tipo de solicitud, y otros parámetros.

Centrándonos en la petición que envía nuestro navegador, se deberá especificar en el mensaje el tipo de comunicación que se solicita. Hay numerosos tipos de transmisión, aunque los más habituales son los métodos GET y POST. Uno u otro método especifican cómo se envía la petición.

En el caso del método GET, la información se envía a través de la URL. La URL, “Uniform Resouce Locator”, es la dirección web que aparece en la parte superior de tu navegador, como por ejemplo https://sirvelia.com/servicio-programacion-web/. Así pues, en este ejemplo, la URL determina que se solicita la página bajo el nombre de “web”. Otras veces encontraremos que estamos en una dirección muy larga con símbolos extraños. En esos casos se están enviando parámetros que especifican más opciones en la solicitud. No entraremos en detalles.

Por otro lado, el método POST envía la información en el mismo mensaje enviado a través de HTTP. El caso más típico es el de los formularios de contacto. Cuando enviamos la información introducida en un formulario, el servidor recibirá un mensaje con los datos introducidos juntamente con la petición. De esta forma, el servidor podrá utilizar esa información en función de su previa programación (normalmente enviar un email).

La principal diferencia entre los dos métodos es la privacidad. Con GET, la información transmitida será visible en la URL. Si la información es enviada con POST, sólo el servidor podrá conocer esa información transmitida.

Error 404. No encontrado (pero hay más)

La respuesta a la petición enviada desde el navegador contendrá información similar a la petición: un código que define el estado de la comunicación y la propia información que se ha solicitado.

¿Quién no se ha topado alguna vez con el Error 404? En este caso, la respuesta que el servidor devuelve contiene el código de estado (estatus) 404, y significa que no se ha encontrado lo que se solicitaba. Todos los códigos de estado tiene una frase asociada (en inglés) que describe el estado. En el caso del 404, la frase es “Not Found” (No encontrado). Existen numerosos códigos de estado, de los cuales no todos son errores.

404

Por ejemplo, cuando la comunicación ha sido totalmente satisfactoria, es el 200, con la frase “OK”. También podemos recibir un Error 500, que se asocia a la frase “Internal Server Error” (Error inesperado en el servidor).

Hay multitud de códigos, que se clasifican en función del primer número del código:

1__ : Información
2__ : Comunicación exitosa
3__ : Redirección
4__ : Error en el cliente
5__ : Error en el servidor

Vale, ¿pero HTTPS?

La comunicación a través de HTTP se realiza mediante simples mensajes de texto. Así pues, si hubiera algún ataque o problema de seguridad, esa información podría ser leída directamente por quién deseara irrumpir y visualizar nuestros datos. Imagínate que estás rellenando el formulario con los datos de tu tarjeta… Peligroso, ¿no?

Por eso, para evitar este riesgo, se ideó el HTTPS (S es “Secure”). La solución es bien sencilla: en vez de enviar el mensaje en texto simple, este se encripta. Es decir, el mensaje ya no es leíble si no conoces la clave para descifrarlo. Y eso sólo está en disposición del servidor.

De esta manera, cuando accedamos a los sitios web de bancos, tiendas online, o similares, siempre comprobaremos que la URL empieza con https://, ¿trato hecho?

Open chat
Escríbenos
¿Cómo es el plugin de tus sueños? :)