Internet: HTTP y HTML
Soy Jasmine y soy gerente de programas del equipo de ingeniería de XBOX One.
Una de nuestras funciones más importantes es XBOX Live, un servicio en línea
que conecta a jugadores de todo el mundo a través de Internet.
No es una tarea fácil y hay muchas cosas que suceden por detrás.
Internet cambia la forma de interactuar y conectarse. ¿Pero cómo funciona?
¿Cómo se comunican las computadoras entre sí? Exploremos la navegación web.
Primero, abre un navegador. Es la app que usas para acceder a las páginas web.
Escribe la dirección web, también llamada URL, del sitio web que quieres visitar,
como tumblr.com. Hola, soy David Karp, fundador de Tumblr
y voy a hablar sobre cómo funcionan los navegadores que usamos todos los días.
Seguro te preguntas qué pasa cuando escribes una dirección en el navegador
y presionas enter. Es tan loco como puedas imaginar. En ese momento,
tu computadora habla con otra, llamada servidor, que suele estar a miles de
kilómetros. Y en milisegundos, le pide a ese servidor un sitio web, y el servidor
le habla a tu computadora en un lenguaje llamado HTTP, que quiere decir Hyper Text
Transfer Protocol. Es el lenguaje que usa la computadora para pedirle un documento
a otra computadora. Y realmente es bastante sencillo.
Si interceptaras la conversación entre tu computadora y el servidor web en Internet,
se compone principalmente de algo llamado solicitudes "GET". Son básicamente
la palabra GET y el nombre del documento que estás solicitando. Si quieres ingresar
a la página de login de Tumblr, lo que haces es enviar una solicitud GET al
servidor de Tumblr que dice GET /login. Y le dice al servidor que quieres todo el
código HTML para esa página. HTML quiere decir Hyper Text Markup Language y es el
lenguaje que usas para decir al navegador cómo hacer que se vea una página.
Si piensas en algo como Wikipedia, que es como un documento grande y simple,
HTML es el lenguaje que usas para que el título sea grande y esté en negrita,
la fuente sea la correcta, vincular un texto con otras páginas, destacar texto,
poner cursivas, poner una imagen en el medio de la página o a la derecha,
o a la izquierda. El texto de una página web se incluye directamente en el HTML,
pero otras partes, como imágenes o videos, son archivos separados con sus URL, que se
deben pedir. El navegador envía una solicitud HTTP para cada uno de ellos
y los muestra cuando llegan. Si una página tiene muchas imágenes, cada una tiene una
solicitud HTTP y la página se carga lento. A veces, cuando navegas la web, no sólo
pides páginas con GET. También, envías información como cuando completas un
formulario o escribes una consulta. Tu navegador envía esta información en texto
plano al servidor web con una solicitud HTTP POST. Si inicias sesión en Tumblr,
lo primero es hacer una solicitud POST, que es un POST en la página de login
que contiene algunos datos. Tiene tu email y tu contraseña. Eso va al servidor de
Tumblr, que confirma que eres David. Envía una página web a tu navegador
que dice: ¡Listo! Iniciaste sesión como David. Pero junto con esa página web,
vienen datos invisibles de cookies que tu navegador ve y sabe que debe guardar.
Y es muy importante porque es la única forma en que un sitio puede recordar quién
eres. Esas cookies son como una tarjeta de identidad para Tumblr. Es un número
que te identifica como David. Y lo retiene tu navegador para que, la próxima vez que
ingreses a Tumblr.com, sepa que debe conectar automáticamente esa identidad
con la solicitud que envía a los servidores de Tumblr.
Esos servidores ven la solicitud que viene de tu navegador, ven el número, y dicen:
"Ok, es la solicitud de David". Ahora, Internet es completamente abierta.
Todas sus conexiones se comparten y la información se envía en texto plano.
Por eso los hackers pueden espiar la información personal que se envía allí.
Los sitios seguros evitan esto al pedir a tu navegador que se comunique por un
canal seguro que usa Secure Sockets Layer y su sucesor Transport Layer Security.
Puedes pensar en SSL y TLS como una capa de seguridad en torno a tus comunicaciones
que protege de intromisiones o engaños. SSL y TLS están activos cuando ves el
pequeño candado en tu barra de navegación, junto al HTTPS. Los protocolos HTTPS
aseguran que tus solicitudes estén seguras y protegidas. Cuando un sitio web pide al
navegador que se conecte de forma segura, primero provee un certificado digital, que
es como un tarjeta de identidad oficial del sitio web. Los certificados digitales
se publican por autoridades específicas, que son entidades confiables que verifican
las identidades de los sitios web y emiten certificados, como cuando un gobierno
emite documentos o pasaportes. Si el sitio intenta iniciar una conexión segura sin un
certificado digital, tu navegador te lo advertirá. ¡Esa es la navegación básica!,
la parte de Internet que vemos día a día. En resumen, HTTP y DNS gestionan el envío
y recepción de HTML, archivos multimedia o cualquier cosa en la web. Esto es posible
gracias a TCP/IP y la red de enrutadores que separan y transportan la información
en pequeños paquetes, compuestos de código binarios, secuencias de 1 y 0, que se
envían físicamente por cables eléctricos, fibra óptica y redes inalámbricas.
Afortunadamente, una vez que aprendiste cómo funciona una capa de Internet, puedes
confiar en ella sin recordar los detalles. Y confiamos en que todas esas cosas
trabajan juntas para entregar información a gran escala y de forma confiable.