Hoy, hablaremos del ciclo de solicitud-respuesta o de lo que sucede cuando escribes algo dentro de la barra de direcciones del navegador. Una cosa que creo que es muy graciosa y de la que también me siento culpable, es que todos hacemos cosas y no tenemos idea de cómo funcionan. ¿Si fuera a preguntarte qué ocurre cuando escribes una dirección? Esta lección es en realidad una de las más técnicas del curso entero. No quiero que sientas que necesitas memorizar esto o tomar apuntes, pero si pienso que te ayudará a entender un poco más qué sucede al mismo tiempo que aprendes HTML5. Una cosa que probablemente quieras es entender las relación cliente-servidor. Los servidores son básicamente máquinas que contienen todos los recursos. Nuestra esperanza es que siempre estén conectados a la red. Los clientes son lo que usamos, las máquinas que usas para tu uso personal; como portátiles, teléfonos, etc. Déjame mostrarte en esta imagen. Es bastante común usar redes como una LAN o una WAN. Una LAN es una red de área local, lo que tengo aquí es la idea de que podemos tener tres computadoras diferentes y todas ellas comparten un servidor. ¿Por qué querríamos hacerlo? Muchas veces, solo tienes una impresora o uno de los diferentes recursos. Así, las tres máquinas pueden trabajar juntas y compartir ese único recurso. La LAN es la Red de Área Local. Algunas veces, necesitas una red de área más extensa o ancha. En las películas, que el bueno se mete en un edificio para robar el software, lo que típicamente sucede es que tienen este servidor al que todos lo que trabajan en la oficina pueden acceder, pero no alguien de fuera del edificio, o puedes incluso tenerlo a través de varios edificios, pero no quieres que nadie de fuera pueda obtener la información. La red de área local es como el edificio de tu oficina. Una red de área ancha podría ser una universidad, donde lo que quieres es poder compartir servidores a través de varios edificios. La red de área ancha más extensa es, por supuesto, Internet. Regresamos a la pregunta ¿qué sucede cuando escribes algo en la URL? Lo que estás haciendo es que tú, el cliente, estás solicitando una página web y el servidor necesita responder con los archivos apropiados. Cuando escribes algo dentro, esto es lo que se llama el URL. Cada URL tiene tres partes. El protocolo, cómo quieres conectarte, el dominio, cuál es el servidor, y luego, opcionalmente, puedes incluir el documento. Incluso aunque escribas en un URL una cosa que hay que tener en cuenta es que usualmente, estás solicitando cantidades y cantidades de archivos a la vez. Los protocolos que la mayoría de la gente ha visto; el primero es HTTP, de Protocolo de Trasferencia de Hipertexto. El segundo es, HTTPS, es la misma idea, solo que ahora tenemos un protocolo más seguro. Si alguna vez te conectas a un banco o a cualquier sitio donde introduzcas contraseñas, asegúrate que lo primero que veas en la URL sea HTTPS. Si no es así, no te conectes. La tercera se llama Protocolo de Transferencia de Archivos. Es un poco diferente. Cuando ves HTTP, se espera que recibas y envíes código HTML5; con FTP, podría ser cualquier tipo de archivo. Tenemos el protocolo, hablemos de lo que representa el nombre del dominio. Usualmente, los nombres de dominio son algo reconocible, tal como umich.edu, podría ser la Universidad de Michigan. Google.com, wikipedia.org. Cada uno de estos sitios tiene un dominio diferente. ¿Cómo se consiguen? ¿Cómo algunas personas adquieren be.edu y otras some.com, some.biz, etc.? Están determinados por la ICANN. Su trabajo es decidir qué tipos de organizaciones se cualifican para los diferentes dominios. He incluido un link aquí si quieres, puedes ir y ver cuáles son los diferentes tipos. Pero lo importante a saber es que el nombre de dominio está, de hecho, mapeado a una dirección. En los primeros días, como cuando mi padre estaba en Internet, si queríamos conectar con algún lugar, escribíamos números; 185.261 etcétera. Ha habido nuevas versiones de direcciones IP, porque cada cliente necesita su propia dirección. Si piensas en cuánta gente tiene portátiles y teléfonos inteligentes, necesitamos muchas opciones diferentes. Con estas direcciones IP, básicamente tenemos conjuntos de números, tienes estos conjuntos diferentes aquí, donde cada x puede representar uno de 16 valores diferentes. Puedes ver que tenemos muchas opciones, sobre 300 trillones, de hecho. Como he dicho, afortunadamente para ti el domain name server te permite escribir algo realmente simple como Umich o Google, y es él que lo convierte en un número realmente largo. La última parte de la URL es el documento. Algunas veces quieres designar un documento muy específico que quieres tener. Por ejemplo, una página de contacto o en este caso, otro del que tengo el archivo dentro de una carpeta. Algunas veces no pones un documento en absoluto. De hecho, la mayoría de las veces no lo haces. Si escribes wikipedia.org o facebook.com, no pones un nombre de archivo, pero es correcto. Todos los servidores tienen un documento por defecto. Comúnmente se llama index.html. Ya lo entendimos. Ya sabemos qué significa lo que estamos escribiendo. Entendemos la solicitud. Lo que sucede una vez que lo escribimos, es que vamos a recibir un montón de información. Encabezados, cookies, datos de formulario, todas las cosas que no se ven. Lo importante es entender que el server nos entrega archivos, no páginas web. Porque muchos de nosotros somos visuales. Cuando escribimos una URL, vemos la pantalla, "Esta es mi página". Pero a veces el navegador puede devolver algo para diferentes tipos de lectores de pantallas, tecnología de ayuda, no es una página web, devuelve muchos, muchos archivos. Con suerte, a veces el servidor no puede cumplir nuestra solicitud. Si no puede, nos dará un código de error. Seguro que te es familiar el 404, que significa "Archivo no encontrado". Esto suele significar que escribimos mal algo. Si recibimos un error 500, eso significa que el servidor no funciona. Puedes irte a picar algo, hacer algo divertido e intentarlo de nuevo más tarde. Quiero mostrarte una demo en vivo, de lo que sucede cuando ponemos una URL. Lo he escrito todo por ti. Busca el dominio, el DNS devuelve una dirección IP, y luego recibimos un montón de archivos. Veamos. Lo que hice aquí es ir a la facultad de Ciencias de la Información de la Universidad de Michigan. Simplemente he escrito si.umich.edu. No he escrito el protocolo porque va por defecto. Visualmente, lo que ves es una página. Una estudiante mirando inspirada por la ventana, etc. Pero ahora, voy a hacer un pequeño truco, voy a hacer clic derecho en la pantalla, y elijo la opción que dice "Inspeccionar". Al costado me aparece una ventana. ¿Y le digo, "sabes qué? Quiero ver toda la información que recibo cuando solicito esta página". Estoy solicitando una página. Le doy a "Actualizar". Si miramos al lado, no te preocupes si no ves los detalles. Pero observa que la página en realidad se compone de gran cantidad de archivos, y cada archivo fue una solicitud distinta. Repasemos. Este fue un vídeo largo, donde lo que quiero que te lleves es el conocimiento de que cada URL tiene tres partes; el protocolo, el dominio y el documento. Date cuenta de que lo que creamos es más que solo un archivo por vez. Cada ciclo de solicitud - respuesta suele ser muchas idas y vueltas de comunicación entre el cliente y el servidor. Nosotros vamos a empezar con poco. Vamos a hacer un archivo por vez, pero siempre mirando hacia adelante para construir aplicaciones web más grandes.