HTTP y HTTPS: ¿Qué es HTTP? ¿Qué significa HTTP? Protocolo HTTP

Acrónimo inglés de Hyper-Text Transfer Protocol, o "Protocolo de transferencia de hipertexto". Es uno de los protocolos más utilizados en internet para transmitir información a través de páginas web.

HTTP es el protocolo de la Web (WWW), usado en cada transacción. Sirve para mandar las consultas (o sea peticiones de publicar un documento WWW), informaciones sobre dirigirse a un enlace o informaciones de un formulario. Es un protocolo de consulta/respuesta, por esto define la forma de ambas: consulta y respuesta.

¿Qué es HTTP y HTTPS?

El protocolo HTTP

El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol) es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP. La especificación completa del protocolo HTTP 1/0 está recogida en el RFC 1945. Fue propuesto por Tim Berners-Lee, atendiendo a las necesidades de un sistema global de distribución de información como el World Wide Web.

Desde el punto de vista de las comunicaciones, está soportado sobre los servicios de conexión TCP/IP, y funciona de la misma forma que el resto de los servicios comunes de los entornos UNIX: un proceso servidor escucha en un puerto de comunicaciones TCP (por defecto, el 80), y espera las solicitudes de conexión de los clientes Web. Una vez que se establece la conexión, el protocolo TCP se encarga de mantener la comunicación y garantizar un intercambio de datos libre de errores.

HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente establece una conexión con un servidor y envía un mensaje con los datos de la solicitud. El servidor responde con un mensaje similar, que contiene el estado de la operación y su posible resultado. Todas las operaciones pueden adjuntar un objeto o recurso sobre el que actúan; cada objeto Web (documento HTML, fichero multimedia o aplicación CGI) es conocido por su URL.

Etapas de una transacción HTTP.

Para profundizar más en el funcionamiento de HTTP, veremos primero un caso particular de una transacción HTTP; en los siguientes apartados se analizarán las diferentes partes de este proceso.

Cada vez que un cliente realiza una petición a un servidor, se ejecutan los siguientes pasos:

  • Un usuario accede a una URL, seleccionando un enlace de un documento HTML o introduciéndola directamente en el campo Location del cliente Web.

  • El cliente Web descodifica la URL, separando sus diferentes partes. Así identifica el protocolo de acceso, la dirección DNS o IP del servidor, el posible puerto opcional (el valor por defecto es 80) y el objeto requerido del servidor.

  • Se abre una conexión TCP/IP con el servidor, llamando al puerto TCP correspondiente. 
    Se realiza la petición. Para ello, se envía el comando necesario (GET, POST, HEAD,…), la dirección del objeto requerido (el contenido de la URL que sigue a la dirección del servidor), la versión del protocolo HTTP empleada (casi siempre HTTP/1.0) y un conjunto variable de información, que incluye datos sobre las capacidades del browser, datos opcionales para el servidor,…

  • El servidor devuelve la respuesta al cliente. Consiste en un código de estado y el tipo de dato MIME de la información de retorno, seguido de la propia información.

  • Se cierra la conexión TCP.

Este proceso se repite en cada acceso al servidor HTTP. Por ejemplo, si se recoge un documento HTML en cuyo interior están insertadas cuatro imágenes, el proceso anterior se repite cinco veces, una para el documento HTML y cuatro para las imágenes.

¿En qué consiste el protocolo HTTPS?

Muchas veces la explicación se reduce a decir que se establece una conexión segura, y no es falso, pero la verdad es que podremos entender con un poquito más de profundidad en qué consiste HTTPS, y no hace falta hacerlo con palabras complicadas, ni enrollarnos durante media hora.

Muchas veces, para comprender porqué narices alguien se ha molestado en inventar algo complicado es mejor pensar para qué lo ha ideado. ¿Cuáles son los problemas que han motivado la aparición de este HTTPS? El principal problema es una falta de privacidad en nuestra navegación normal.



Normalmente, cuando navegamos por internet lo hacemos utilizando el protocolo HTTP, que simplemente establece unas directrices acerca de cómo se va a comunicar nuestro ordenador (cliente) con un servidor (por ejemplo, el ordenador donde está alojada la página de Google). Establece cómo se transfieren los datos, y en este caso, los datos se transfieren sin ninguna modificación, según los estás viendo ahora mismo.

Podemos imaginar que hay una tubería entre nuestro ordenador y el servidor por la que pasan los datos. Pero en esa tubería, alguien podría hacer un pequeño agujero por el que poder ver la información que viaja de un lado al otro, o incluso algo peor, modificar la información que tu envías. En ámbitos de seguridad esto se refiere como un ataque man-in-the-middle (Hombre en el medio, literalmente).

Esto no es un problema si alguien charlar mientras visitas Google, pero posiblemente sea un problema mientras estás consultando los movimientos de tu tarjeta de crédito. Además, si nuestro man-in-the-middle se hace pasar por tu entidad bancaria… ¿cómo podrías estar seguro de que te responde tu banco? ¿no te entran ganas de evitar esas intromisiones? Aquí aparece HTTPS.

Cómo funciona HTTPS

Ya que evitar información importante en una comunicación es algo que se puede catalogar como muy difícil o imposible, la solución ha consistido en hacer que nuestro amigo mirón no pueda comprender lo que mira a través de ese agujerito que ha hecho en la tubería, y que tampoco pueda meter en la tubería mensajes haciéndose pasar por nuestro banco (servidor) o por nosotros mismos (cliente).

Al menos en este asunto de las conexiones seguras, la insólito no existe. Antes de empezar esa conexión segura, se establece una comunicación entre el cliente y el servidor en la que se acuerdan los detalles necesarios. Esta fase se denomina acuerdo, o en inglés handshake (apretón de manos), y es donde todo se complica un poco.

El handshake entre cliente y servidor puede variar dependiendo de los modos de autenticación (verificación de la identidad del remitente de un mensaje) y cifrado que se vayan a utilizar durante la conexión segura. Suena difícil, pero los sistemas utilizados no difieren mucho de los utilizados durante la II Guerra como por ejemplo el famoso código Enigma.

Imaginamos que somos capaces de crear dos códigos (o claves) especiales. De forma que un mensaje se puede cifrar con la primera y descifrar con la segunda, y viceversa. Así, un mensaje cifrado con la primera, ÚNICAMENTE podrá ser descifrado con la segunda, y un mensaje cifrado con la segunda, sólo podrá ser descrifrado con la primera.

Ahora viene el truco. La primera de ellas la haces pública, se la das a todos tus amigos, sin problema. Pero la segunda es secreta, te la guardas como tu mayor tesoro. Con este pequeño truco podemos hacer dos cosas imprescindibles dentro del protocolo HTTPS:

  • Verificar nuestra identidad: Si un mensaje (o parte) lo ciframos con nuestro código secreto, cualquier persona será capaz de leerlo, pero nadie más habrá sido capaz de crearlo (necesitarían nuestra clave ultra secreta). Así es como se firma cuando no puedes utilizar un boli.

  • Evitar mirones: Si me queréis enviar un mensaje, utilizáis mi código público para cifrarlo y lo colgáis por ejemplo en un tablón de anuncios (o en un comentario). De esta forma sólo quien tenga mi código secreto será capaz de leerlo, es decir, sólo yo podré saber lo que significa. De hecho, ni siquiera vosotros seríais capaces de leerlo una vez lo cifrárais.

¿Qué significa HTTP?

La sigla HTTP significa HyperText Transfer Protocol (Protocolo de transferencia de hipertexto) y es uno de los lenguajes más comunes para intercambiar información en la web. De esta forma se van guiando las páginas web desde su ubicación de creación hasta el ordenador que las intenta abrir.

Todas las páginas están escritas en el lenguaje HTML, por lo tanto el contenido en en sí es el hipertexto, y el HTTP es el protocolo para intercambiarlo entre los ordenadores y los servidores. Existe una versión más segura para transferencia de información llamada HTTPS que puede utilizar cualquier tipo de cifrado siempre y cuando sea entendido por el servidor y por el cliente.

El protocolo HTTP generalmente utiliza el puerto 80.

El HTTP está basado en el modelo cliente-servidor, en donde un cliente HTTP (un navegador por ejemplo) abre una conexión y realizar una solicitud al servidor. Este responde a la petición con un recurso (texto, gráficos, etc) o un mensaje de error, y finalmente se cierra la conexión. Uno de los más famosos mensajes de error HTTP es el 404 Not found.

Definición de HTTPS (HTTP Secure)

Hypertext Transfer Protocol Secure (ó HTTPS) es una combinación del protocolo HTTP y protocolos criptográficos. Se emplea para lograr conexiones más seguras en la WWW, generalmente para transacciones de pagos o cada vez que se intercambie información sensible (por ejemplo, claves) en internet.

De esta manera la información sensible, en el caso de ser interceptada por un ajeno, estará cifrada.

El nivel de protección que ofrece depende de la corrección de la implementación del navegador web, del software y de los algoritmos criptográficos soportados. Además HTTPS es vulnerable cuando es aplicado a contenido estático públicamente disponible.

El HTTPS fue creado por Netscape Communications en 1994 para su navegador Netscape Navigator.

Características del HTTPS

Para distinguir una comunicación o página web segura, la URL debe comenzar con "https://" (empleando el puerto 443 por defecto); en tanto la tradicional es "http://" (empleando el puerto 80 por defecto).

Originalmente HTTPS sólo utilizaba encriptación SSL, luego reemplazado por TLS.

HTTPS fue adoptado como estándar web por el grupo IETF tras la publicación del RFC 2818 en mayo de 2000.

HTTP opera en la capa más alta del modelo TCP/IP, la capa de Aplicación. Pero el protocolo de seguridad trabaja en una subcapa inferior, codificando el mensaje HTTP antes de ser transmitido y decodificando el mensaje antes de que llegue.

El protocolo HTTP

El protocolo HYPER TEXT TRANSFER PROTOCOL (protocolo para la transferencia de hipertextos) es para todos los sistemas de información distribuidos que tengas la necesidad de mostrar la información y pasarla por una comunicación normal haciendo uso de las ligas de este lenguaje. La primera versión de este lenguaje (http 0.9) se uso desde 1.990.

El protocolo fue implementado inicialmente para WWW en 1.991 como una iniciativa de software y se denominó http 0.9. El protocolo completo fue definido en 1.992 e implementado en marzo de 1.993.

HTTP 1.0. esta especificación prevé las características básicas del protocolo.

HTTP 1.1. la primera versión no está aun habilitada, pero las especificaciones son muy similares a la anterior.

HTTP-NG next generation of HTTP, es un protocolo binario con nuevas características para un acceso más rápido usando TCP. Este es el último HTTP en la actualidad, es más complejo que un 0.9.

El protocolo encierra cierta terminología como:

Conexión. Es el circuito virtual establecido entre dos programas en una red de comunicación con el proceso de una simple comunicación.

Mensaje. Esta es la unidad básica, estos consisten en una secuencia estructurada que es transmitida siempre entre los programas.

Servidor. El que presta el servicio en la red.

Proxy. Un programa intermedio que actúa sobre los dos, el servidor y el cliente.

Vídeos Gratis
www.Santos-Catolicos.com
¡DVDs, Artículos y Libros Gratis!
FREE DVDS & VIDEOS
WATCH & DOWNLOAD ALL THE DVDS & VIDEOS FOR FREE!