If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

HTTP y HTML

El fundador de Tumblr, David Karp, y la gerente del programa Xbox, Jasmine Lawrence, dan una descripción detallada de cómo los archivos y las páginas web son enviadas y recibidas usando HTTP y HTML.

¿Quieres unirte a la conversación?

¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.

Transcripción del video

Soy Jasmine Lawrence y soy directora de proyectos en el equipo de ingeniería de XBox. Una de nuestras características más importantes se llama XBox Live. Es un servicio online que conecta jugadores alrededor de todo el mundo y nosotros dependemos del Internet para que eso sea posible. Esto no es una tarea sencilla y hay un montón de cosas sucediendo detrás del escenario. El Internet está cambiando completamente cómo las personas interactúan y se conectan. Pero, ¿cómo funciona? ¿Cómo hacen, de hecho, las computadoras alrededor del mundo para comunicarse con entre ellas? Vamos a ver la navegación en la web. En primer lugar, tú abres el navegador web. Es la aplicación que usas para acceder a las páginas web. A continuación, escribes una dirección web, o URL, que significa "Uniform Resource Locator" (localizador unificado de recurso) del sitio web que quieres visitar, como tumbrl.com. (música electrónica) Hola, soy David Karp, fundador de Tumbrl y estamos hoy aquí para hablar sobre cómo funcionan realmente los navegadores web que usamos todos los días. Probablemente te has preguntado qué pasa realmente cuando tecleas una dirección en tu navegador web y das a la tecla "Enter". Y, de hecho, es una "locura" tan grande como puedas imaginar. Así, en ese momento, tu computadora comienza a hablar con otra computadora llamada "servidor" que a menudo está a miles de millas de distancia y, en milisegundos, tu computadora pregunta al servidor por un sitio web y el servidor empieza a contestar a tu computadora en un lenguaje llamado HTTP. HTTP viene de "HyperText Transfer Protocol" (Protocolo de Transferencia de Hiper Texto). Puedes pensar en él como una especie de lenguaje que una computadora usa para pedir a otra un documento. De hecho, es realmente bastante sencillo. Si interceptaras en el Internet la conversación entre tu computadora y el servidor web, estaría compuesta mayoritariamente por algo llamado solicitud "GET" y es realmente muy sencillo: la palabra "GET" seguida del nombre del documento que has solicitado. Así, cuando tratas de entrar en Tumbrl y cargar nuestra página de "Login", todo lo que estás haciendo es enviar una solicitud GET al servidor de Tumbrl, que dice "GET/login" y que le dice al servidor de Tumbrl que tú quieres todo el código HTML de la página de login de Tumbrl. HTML viene de "HyperText Markup Language" (Lenguaje de Marcas de Hiper Texto) y puedes pensar en él como el lenguaje que usas para decir al navegador web cómo debe ser la apariencia de la página. Así, si piensas en algo como la Wikipedia, que es, de hecho, un gran documento y HTML es el lenguaje usado para hacer ese título grande y en negrita, para definir la fuente de letra correcta, para enlazar un determinados textos con ciertas páginas, para que un texto determinado aparezca en negrita, para un texto aparezca en cursiva, para incluir una imagen en el medio de la página, para alinear la imagen a la derecha, para alinear la imagen a la izquierda... El texto de una página web se incluye directamente en el HTML, pero otras partes, imágenes o videos, están en ficheros aparte, con sus propias URLs y es necesario que sean solicitados. El navegador envía solicitudes HTTP separadas para cada uno de ellos, y los muestra según van llegando. Si una página web tiene muchas imágenes diferentes, cada una de ellas ocasiona una solicitud HTTP separada y la página se carga más lentamente. A menudo, cuando navegas en las web, no estás únicamente solicitando páginas con solicitudes GET. A veces envías información, como cuando completas un formulario o escribes una pregunta de búsqueda. Tu navegador envía esta información en "texto plano" al servidor web usando una solicitud HTTP. Digamos que entras en Tumbrl. La primera cosa que haces es construir una solicitud "POST". Esto es, un "POST" (envío) a la página de login de Tumbrl que tiene algunos datos adjuntos. Tiene tu dirección de email, tiene tu contraseña, que van al servidor Tumbrl. El servidor de Tumbr decide que, de acuerdo, tú eres David y envía de vuelta una página web a tu navegador que dice: "¡Éxito! Has entrado como David" pero, junto con la página web, también adjunta un poco de información invisible: las "cookies", que tu navegador ve y sabe almacenar. Y esto es realmente importante porque es realmente la única forma en que un sitio web puede recordar quién eres. Toda estos datos de la cookie son, realmente, una tarjeta de identificación para Tumbrl, es un número que te identifica como "David". Tu navegador web "agarra" ese número y, la próxima que vuelvas a Tumbrl, la próxima vez que vayas a Tumbrl.com, tu navegador sabe, automáticamente, adjuntar ese número de ID (de identificación) con la solicitud que envía al servidor Tumbrl. Así, ahora el servidor de Tumbrl, ve la solicitud recibida desde tu navegador web, ve tu número de ID (identificación) y sabe que, de acuerdo, ésta es una solicitud de "David". Ahora, el Internet es completamente abierto. Todas sus conexiones son compartidas y la información en enviada en "texto plano". Esto hace posible a los hackers espiar cualquier información personal que envíes por internet. Pero, los sitios web seguros previenen esto pidiendo a tu navegador web que se comuniquen por medio de un canal seguro, utilizando algo llamado "Secure Sockets Layer" y su sucesor :"Transport Layer Security". Puedes pensar en SSL y TLS como una "capa" que envuelve tus comunicaciones para protegerlas del espionaje o la manipulación. SSL y TLS están activas cuando ves un pequeño candado que aparece en la barra de navegación de tu "browser", al lado de HTTPS. El protocolo HTTPS asegura que tus solicitudes HTTP están seguras y protegidas. Cuando un sitio web pide a tu navegador web establecer una conexión segura, en primer lugar, proporciona un certificado digital, que es como una tarjeta de identificación ("ID") que prueba que el sitio web es fiable (corresponde con lo que dice ser). Los "certificados digitales" son publicados por las "autoridades de certificación" que son entidades de confianza que verifican la identidad de los sitios web y emiten certificados para ellos. Parecido a como un gobierno pude emitir documentos de identidad o pasaportes. Así, si un sitio web intenta comenzar una conexión segura sin un certificado emitido de forma adecuada tu navegador web te advertirá. Estas son las bases de la navegación web, la parte de Internet que vemos todos los días. Resumiendo: HTTP y DNS gestionan el envío y recepción de HTML, ficheros multimedia, o cualquier contenido en la web. Lo que hace esto posible, "bajo el capó", son TCP/IP y los routers de red, que fragmentan y transportan la información en pequeños paquetes. Estos paquetes están formados por código binario, secuencias de unos y ceros, que son físicamente enviados por medio de cables eléctricos, cables de fibra óptica, y redes "wireless" (no cableadas). Afortunadamente, una vez que has aprendido como funciona una capa de Internet, puedes fiarte de ella, sin recordar los detalles. Y podemos confiar en que todas estas capas ("layers") trabajan conjuntamente para enviar información con éxito en grandes volúmenes ("at scale") y de forma fiable.