HTTP

HTTP significa Protocolo de Transferencia de Hipertexto . Es esencialmente un protocolo de comunicación utilizado para conducir la información entre un cliente y un servidor web.

 HTTP (2)

El HTTP se inventó con el HTML para crear el primer navegador web interactivo basado en texto, conocido como la World Wide Web original

Hoy en día, HTTP sigue siendo una de las principales formas de utilizar Internet, de la que los usuarios de la red no pueden prescindir.

Si es usted un usuario de Internet, debería prestar atención a este artículo que le cuenta todo lo que necesita saber sobre el protocolo HTTP

Capítulo 1: ¿Qué es el HTTP?

Dado que HTTP es uno de los elementos fundamentales de Internet, en este capítulo hablaremos de todo lo que debe entender sobre este protocolo

1.1. Definición e historia de HTTP

El HTTP o Protocolo de Transferencia de Hipertexto es una técnica para codificar y conducir la información entre un navegador web y un servidor web. HTTP es el principal protocolo para transmitir información a través de Internet.

El protocolo HTTP 0.9 se desarrolló por primera vez a finales de la década de 1980, pero con una baja capacidad

La combinación de este invento con el HTML y las URL se considera ahora la base de la iniciativa de información global en la World Wide Web

Esta innovación fue llevada al mundo de la web por Tim Berners-Lee en el CERN de Ginebra para compartir información entre la comunidad de físicos.

Dadas las deficiencias del protocolo HTTP 0.9, Berners-Lee pensó en mejoras inventando la primera versión real HTTP/1.0 en 1991

Este nuevo trabajo del actor se propuso como RFC 1945 al órgano regulador de la Internet Engineering Task Force (IETF) en 1996.

Con el lanzamiento de NCSA Mosaic, un navegador gráfico fácil de usar, la WWW se hizo cada vez más popular y se pusieron de manifiesto, sobre todo, algunas de las limitaciones de la versión 1.0 del protocolo:

  • La imposibilidad de alojar varios sitios www en el mismo servidor (el llamado host virtual),
  • No reutilización de las conexiones disponibles,
  • El fracaso de unos mecanismos de seguridad insuficientes,
  • Etc.

A partir de ahora, se ha lanzado la nueva versión HTTP / 1.1. Se presenta como RFC 2068 en 1997 y se actualiza más tarde en 1999 como se describe en RFC 2616.

1.2. Cómo funciona el protocolo HTTP

Cada vez que un usuario realiza una solicitud en Internet, sin duda está utilizando el protocolo HTTP. No sólo para enviar la solicitud al servidor que alberga la página solicitada, sino también para recibir los datos en respuesta del servidor.

L hebergement est fourni par un hebergeur

Esto implica una presencia inevitable de HTTP tanto en la capa de aplicación del cliente como en la del servidor, de lo contrario la comunicación no puede tener lugar.

La solicitud del cliente se realiza a través del navegador, que gestiona toda la comunicación y devuelve a la pantalla los recursos solicitados por el usuario. El navegador ve una página web como un conjunto de objetos vinculados entre sí por hipervínculos.

Así, una página web estará seguramente compuesta por un cuerpo HTML y otros recursos que pueden ser scripts, imágenes, applets Java, etc.

HTTP se basa en el protocolo TCP en la capa de transporte para garantizar la transferencia de datos del servidor al cliente.

Groupe d annonces

La razón principal del uso de TCP por parte de HTTP se explica por la transferencia de datos que garantiza, a diferencia del protocolo de transferencia UDP

Aunque el uso de TCP tiene una gran ventaja de transferencia de datos fiable, también implica un mayor tiempo de espera para recibir el recurso solicitado

Esto sólo puede ocurrir porque antes de transmitir los datos, TCP debe establecer una conexión en una operación llamada Handshake

Una transferencia de datos fiable es esencial para HTTP, ya que si el cuerpo HTML completo de una página web no se transfiriera al navegador, debido a un error de transmisión, la página solicitada sería imposible de visualizar o su contenido se vería alterado.

Como se ha mencionado anteriormente, HTTP pertenece a la capa de aplicación, mientras que TCP es un protocolo de la capa de transporte. Esto explica un poco cómo HTTP intercambia datos con TCP.

Esto es posible gracias a los sockets que representan el punto de contacto entre la capa de aplicación y la de transporte. Cada aplicación en un host específico tendrá un zócalo de interfaz específico para la capa de transporte

Por ejemplo, si un usuario solicita una página web y envía un correo electrónico al mismo tiempo, habrá dos sockets

  • Uno que se encarga del intercambio de datos entre HTTP y la capa de transporte,
  • Y la otra entre los protocolos de correo electrónico y la capa de transporte.

Pero cuando el usuario intenta abrir dos páginas web al mismo tiempo, sólo se puede crear un socket en este caso

Porque el socket en este caso se refiere a un solo proceso. El socket permite gestionar, de forma independiente, los paquetes recibidos para mostrar por separado las dos páginas web solicitadas.

1.3. El propósito del protocolo HTTP

Cuando hablamos del protocolo de transferencia de hipertexto, nos referimos inmediatamente al papel de HTTP en la transmisión de datos de sitios web en Internet

En cuanto al hipertexto, se refiere a la forma estándar de los sitios web mediante la cual una página puede remitir a los usuarios a otra página a través de hipervínculos en los que se puede hacer clic, normalmente llamados simplemente enlaces

El propósito del protocolo HTTP es proporcionar una forma estándar para que los navegadores web y los servidores se comuniquen entre sí.

l echange de donnee

Las páginas web se diseñan utilizando el Lenguaje de Marcado de Hipertexto, o HTML, pero el HTTP se utiliza hoy en día para transferir algo más que el HTML y las Hojas de Estilo en Cascada, o CSS, utilizadas para indicar cómo deben mostrarse las páginas

El HTTP también se utiliza para transferir otros contenidos en los sitios web, como imágenes, vídeos y archivos de audio.

Los ordenadores pueden conectarse a los servidores web mediante HTTP simplemente para solicitar archivos de determinadas direcciones web

Cuando un ordenador se limita a recuperar datos, suele enviar un mensaje HTTP denominado solicitud GET, y cuando envía datos de un formulario o descarga un archivo, utiliza otros formatos de mensaje denominados solicitudes PUT o POST

Puede ver los mensajes HTTP que envía su navegador web en muchos navegadores a través de las herramientas integradas para desarrolladores.

Hoy en día, HTTP es utilizado por muchas aplicaciones distintas de los navegadores web para enviar mensajes a los servidores

Las personas que crean aplicaciones eligen voluntariamente HTTP porque es bien entendido por muchos desarrolladores.

Otra razón es que el HTTP no suele ser filtrado por los cortafuegos de red diseñados para permitir el tráfico web, lo que significa que los mensajes HTTP pueden pasar por la mayoría de las redes domésticas y de oficina sin ningún problema.

1.4. Las ventajas del HTTP

Lo primero que debe saber es que HTTP utiliza un esquema de direccionamiento avanzado. Asigna una dirección IP con nombres reconocibles para que se pueda encontrar fácilmente en la World Wide Web

En comparación con el procedimiento estándar de dirección IP con una serie de números, al utilizarlo, el público puede interactuar fácilmente con Internet.

Siempre que una aplicación necesite capacidades adicionales, el HTTP puede darle una funcionalidad extra descargando extensiones o plugins y mostrando los datos pertinentes

Con HTTP, cada archivo se descarga desde una conexión independiente y luego se cierra. Por esta razón, no se transfiere más de un elemento de una página web. Por lo tanto, el riesgo de interceptación durante la transmisión es bajo.

Además, cuando la página se carga por primera vez, todas las páginas HTTP se almacenan en cachés de Internet denominadas cachés de página.

Cache http

Por lo tanto, una vez que se vuelva a visitar la página, el contenido se cargará más rápidamente.

1.5. Las desventajas de HTTP

Dado que el HTTP no funciona sobre la base de la codificación de datos, es muy posible que su contenido pueda ser modificado por otra persona.

Por eso se considera que HTTP es un método inseguro de transferencia de datos y que muestra la integridad de los mismos. Esto hace que los datos sean vulnerables a los ataques.

Couche IP

La confidencialidad es otro de los problemas que se plantean en una conexión HTTP. Si un atacante consigue interceptar la petición, puede mostrar todo el contenido presente en la página web

Además, también pueden recopilar información confidencial como el nombre de usuario y la contraseña muy fácilmente

Además, aunque HTTP reciba todos los datos que necesita, los clientes no realizan ninguna acción para cerrar la conexión. Por lo tanto, durante este periodo, el servidor no estará presente

Además, una vez que HTTP tiene que crear varias conexiones para transmitir una página web, provoca una sobrecarga administrativa en la conexión.

1.¿En qué se diferencian HTTP y HTTPS?

Mientras que HTTP significa Protocolo de Transferencia de Hipertexto, HTTPS simplemente significa Protocolo de Transferencia de Hipertexto Seguro

Observará que algunas URLs comienzan con HTTP y otras con HTTPS, la «S» significa encriptación segura, que se garantiza con un certificado

HTTPS significa simplemente una clave pública descifrada en el lado del destinatario. Y esta clave pública se obtiene en un certificado SSL.

HTTPS

El certificado SSL representa un documento de identidad en línea, que indica que el sitio web está protegido y libre de amenazas externas

Los sitios web que recogen información sensible de las personas, incluyendo direcciones personales y números de tarjetas de crédito, deben adquirir una licencia SSL

El cifrado SSL tiene muchas ventajas tanto para los clientes como para los sitios web. Los principales beneficios son:

  • Protección contra los hackers : Como el certificado protege la información sensible, los hackers y los ladrones de identidad se enfrentarán a una gran seguridad de los datos.
  • Autenticidad y fiabilidad: La gente quiere hacer negocios con un sitio web seguro y de confianza. No realizan compras en sitios web que no estén verificados y encriptados
  • Aumento de la tasa de conversión: Según los análisis, los sitios web de comercio electrónico seguros verán rápidamente un aumento de 18 à 87% en las tasas de conversión.

El protocolo HTTP se limita a la transmisión de mensajes sin encriptación de seguridad. Esto hace que los datos sean muy vulnerables a los ataques.

Capítulo 2: ¿Qué es un código de estado HTTP?

Puede ocurrir que el cliente haga peticiones al servidor, y a cambio el servidor responda con códigos de estado y cargas útiles de mensajes. El código de estado es importante y le indica al cliente cómo interpretar la respuesta del servidor

La especificación HTTP define ciertos rangos de números para tipos específicos de respuestas:

2.1. 1xx: Mensajes de información

Todos los clientes HTTP/1.1 deben aceptar el encabezado Transfer-Encoding. Esta clase de códigos se introdujo en HTTP / 1.1 y es puramente provisional

El servidor puede enviar un mensaje Expect: 100-continue, indicando al cliente que continúe enviando el resto de la solicitud, o ignorarlo si ya lo ha enviado. Se supone que los clientes HTTP/1.0 deben ignorar esta cabecera.

2.2. 2xx: Exitoso

Esto indica que la solicitud del cliente ha sido procesada con éxito. Muy a menudo verá que aparecen 200. Para una solicitud GET, el servidor envía los datos en el mensaje. Existen otros códigos de uso menos frecuente:

  • 202 Aceptado: La solicitud fue aceptada, pero puede no incluir el recurso en la respuesta. Esto es útil para el procesamiento asíncrono en el lado del servidor. El servidor puede optar por enviar información para su seguimiento.
  • 205 Restablecer contenido: Indica al cliente que debe restablecer la vista del documento.
  • 206 Contenido parcial: Indica que la respuesta contiene sólo un contenido parcial. Las cabeceras adicionales indican el alcance exacto y la información de caducidad del contenido.

2.3. 3xx: Redirección

  • 303 Ver Otros : El recurso se encuentra temporalmente en una nueva URL.
  • 304 Sin cambios: El servidor ha determinado que el recurso no ha cambiado y el cliente debe utilizar su copia en caché. Esto depende de que el cliente envíe la información ETag (Entity Tag), que es un hash del contenido. El servidor lo compara con su propio cálculo de ETag para verificar los cambios.
guide-des-codes-d'etat-HTTP-pour-les-SEO

2.4. 4xx: Error del cliente

Estos códigos se utilizan cuando el servidor cree que el cliente está en falta, ya sea por solicitar un recurso no válido o por hacer una solicitud incorrecta

El código más popular de esta clase es el 404 no encontrado, con el que creo que todo el mundo se identifica. 404 indica que el recurso no es válido y no existe en el servidor. Otros códigos de esta clase son:

  • 400 Solicitud incorrecta: La solicitud estaba mal formada.
  • 403 Prohibido: El servidor ha denegado el acceso al recurso.
  • 404 indica que el recurso no es válido y no existe en el servidor. Esto obliga al cliente a tomar nuevas medidas. A menudo, el cliente se ve obligado a acceder a una URL diferente para recuperar el recurso.
  • 405 Método no válido: Verbo HTTP no válido utilizado en la línea de solicitud, o el servidor no admite este verbo.
  • 409 Conflicto: El servidor no ha podido completar la solicitud porque el cliente está intentando modificar un recurso que es más reciente que la marca de tiempo del cliente. Los conflictos se producen principalmente en las solicitudes PUT cuando se realizan cambios colaborativos en un recurso.

2.5. 5xx: Error del servidor

Esta clase de códigos se utiliza para indicar un fallo del servidor en el procesamiento de la solicitud. El código de error más utilizado es 500 Internal Server Error. Los otros de esta clase son :

  • 501 No implementado: El servidor aún no soporta la funcionalidad solicitada.
  • 503 Servicio no disponible: Esto puede ocurrir si un sistema interno del servidor no funciona o si el servidor está sobrecargado. Por lo general, el servidor ni siquiera responde y la solicitud expira.

Conclusión

HTTP ha sido el principal protocolo de transmisión de datos en Internet desde su primera versión hasta hace poco. Es una forma inevitable para cualquier usuario de Internet de obtener una respuesta a su solicitud.

Por lo tanto, es necesario que cualquier persona que utilice la Red conozca los fundamentos de HTTP. Para ello, hemos cubierto los puntos que pueden parecerle complejos sobre el concepto de HTTP.

Espero que este artículo le haya sido útil, no dude en dejar comentarios si tiene alguna pregunta.

Deja un comentario