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.