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.