Hoje, vamos falar sobre o ciclo de solicitação-resposta ou basicamente o que acontece quando você digita algo na barra de endereço do seu navegador. Uma das coisas que eu acho realmente engraçado e eu sou culpado disso também, é que todos nós fazemos coisas e não temos idéia de como elas funcionam. Então, se eu perguntasse quando você digita um endereço, o que acontece? Então, esta palestra é na verdade uma das mais técnicas de toda a turma. Eu não quero sentir que você precisa memorizar isso ou escrevê-lo, mas eu acho que isso vai ajudá-lo a entender um pouco mais o que está acontecendo enquanto você aprende HTML5. Então, uma das coisas que você pode querer entender é a relação cliente-servidor. Servidores são basicamente máquinas que contêm todos os recursos. Nossa esperança é que eles estejam sempre conectados à rede. Os clientes são o que estamos usando, onde as máquinas que você usa para uso pessoal , como laptops, telefones, etc. Deixe-me mostrar-lhe nesta foto. É muito comum usar redes como algo chamado LAN ou WAN. Uma LAN é uma rede local, e então o que eu tenho aqui é a idéia de que podemos ter três computadores diferentes e todos eles estão compartilhando um servidor. Por que iríamos querer fazer isso? Bem, muitas vezes, você só tem uma impressora ou um dos recursos diferentes. Dessa forma, todas as três máquinas podem trabalhar juntas e compartilhar esse recurso. Então, a LAN é a rede local. Às vezes, você quer ter algo maior ou uma rede de área ampla. Então, em filmes, onde o mocinho está invadindo o prédio para roubar o software, o que normalmente acontece é que eles têm esse servidor que todo mundo que trabalha no prédio pode acessar, mas ninguém fora do prédio, ou você pode até mesmo tê-lo em diferentes edifícios, mas você não quer que alguém de fora seja realmente capaz de obter suas informações. Então, a rede local é como o seu prédio de escritórios. Uma rede de longa distância pode ser uma universidade, onde você deseja compartilhar servidores em vários edifícios. A maior rede de área ampla é, naturalmente, a Internet. Então, agora voltamos à questão do que acontece quando você digita algo na URL? O que você está fazendo é que você o cliente está solicitando uma página web e o servidor precisa responder com os arquivos apropriados. Então, quando você digita algo, isso é chamado de URL. Cada URL tem três partes. O protocolo, como você deseja se conectar, o domínio, que é o servidor e, em seguida, opcionalmente, você pode incluir o documento. Então, mesmo que você esteja digitando em um URL, uma das coisas a perceber é que, geralmente, você está solicitando muitos e muitos arquivos de uma só vez. Então, os protocolos que a maioria das pessoas já viu; o primeiro é HTTP, o Hypertext Transfer Protocol. O segundo, HTTPS, é a mesma ideia, só que agora temos um protocolo mais seguro. Então, se você estiver se conectando a um banco ou a qualquer lugar onde você está colocando senhas, certifique-se de que a primeira coisa que você vê nesse URL é HTTPS. Se não fizer isso, não se conecte. O terceiro é chamado de Protocolo de Transferência de Arquivos. É um pouco diferente. Quando você vê HTTP, ele está esperando que você vai dar para trás e para trás código HTML5; com FTP, ele pode ser qualquer tipo de arquivo. Então, nós temos o protocolo, agora vamos falar sobre o que os nomes de domínio representam. Normalmente, os nomes de domínio são algo reconhecível, como umich.edu, seria para a Universidade de Michigan. Google.com, wikipedia.org. Então, cada um desses sites tem um domínio de nível superior diferente. Como você os conseguiu? Como algumas pessoas chegam a ser.edu e some.com, some.biz, etc.? Na verdade, eles são determinados pela ICANN. Seu trabalho é entrar e decidir quais tipos de organizações se qualificam para diferentes domínios. Eu incluí um link aqui, se você quiser, você pode ir e ver quais são os diferentes tipos. Mas o importante a saber é que seu nome de domínio é realmente mapeado para um endereço. Antigamente, como quando meu pai estava na internet, se ele quisesse se conectar a algum lugar, ele realmente digitava números; 185.261 et cetera, et cetera. Bem, houve uma nova versão de endereços IP, porque cada cliente precisa de seu próprio endereço. Se você pensar em quantas pessoas têm laptops e smartphones, precisamos de muitas opções diferentes. Então, com esses endereços IP, você basicamente tem conjuntos de números, você tem esses conjuntos diferentes aqui, onde cada X pode representar um dos 16 valores diferentes. Então, vocês podem ver que temos muitas opções, mais de 300 trilhões, na verdade. Como eu disse, felizmente para você, o servidor de nomes de domínio permite que você digite algo realmente simples como Umich ou Google, e é aquele que o transforma em um número realmente longo. A última parte do seu URL é o documento. Então, às vezes você deseja especificar um documento muito específico que você deseja obter. Então, por exemplo, a página de contato, ou neste caso, outra eu tenho o arquivo que está dentro de uma pasta. Mas às vezes você não coloca um documento. Na verdade, na maioria das vezes, você não. Se você digitar wikipedia.org ou Facebook.com, não há nome de arquivo. Mas está tudo bem. Cada servidor tem um documento padrão que ele vai retornar. Normalmente, é chamado index.HTML. Tudo bem. Então, descobrimos. Sabemos o que significa quando estamos digitando algo. Entendemos o pedido. O que acontece, porém, uma vez que digitarmos isso, é que vamos realmente obter de volta um monte de informações. Cabeçalhos, cookies, dados de formulários, tudo o que você não vê. Então, o importante a saber é que o servidor retorna arquivos, não páginas da web. Para muitos de nós, somos muito visuais. Então, quando digitamos um URL, estamos olhando e estamos tipo, “Oh, aqui está minha página.” Mas às vezes o navegador pode estar retornando algo para diferentes tipos de leitores de tela, tecnologia assistiva, então ele não está retornando uma página da web, ele está retornando muitos e muitos arquivos. Espero que eu admita que às vezes o servidor não pode atender a solicitação. Se não puder, ele enviará de volta um código de erro. Acho que muitos de vocês estão familiarizados com o 404, onde diz, “Arquivo não encontrado”. Isso geralmente significa que você digitou algo errado. Se você receber um erro 500, isso significa que os servidores estão desligados. Então, você pode muito bem ir tomar um lanche, fazer algo divertido, voltar mais tarde e digitar novamente. Então, eu quero fazer uma demonstração ao vivo com vocês do que acontece quando escrevemos algo. Então, eu anotei para você. Ele procura o domínio, o DNS retorna um endereço IP e, em seguida, um monte de arquivos começam a ser retornados. Vamos dar uma olhada. O que eu fiz aqui é que eu fui para o site da escola de informação na Universidade de Michigan. Eu simplesmente digitei si.umich.edu. Eu não digitei o protocolo porque geralmente é padrão. Então, o que você vê aqui visualmente é uma página. Estudante olhando para fora, parecendo muito inspirado, etc. Mas agora, eu vou fazer um pequeno truque aqui, onde eu clique com o botão direito do mouse na tela, e eu vou escolher a opção que diz, “Inspecionar”. Uma janela vai aparecer para o lado aqui. Eu vou dizer, “Quer saber? Gostaria de ver todas as informações que estão sendo retornadas quando eu realmente solicitar esta página.” Estou solicitando uma página, vou clicar em “Atualizar”. Se você olhar para o lado, não se preocupe que você não pode ver os detalhes. Mas você deve ver que a única página é na verdade composta de muitos e muitos arquivos, e cada um desses arquivos era um pedido separado. Ok. Então, vamos rever. Este foi um vídeo longo, onde realmente tudo o que eu quero que você saia dele com o conhecimento de que cada URL tem essas três partes: o protocolo, o domínio e o documento. Perceba que o que você está criando é maior do que apenas um arquivo de cada vez. Cada ciclo de solicitação-resposta geralmente é muitas rodadas de comunicação entre o cliente e o servidor. Então, vamos começar pequeno. Vamos fazer um arquivo de cada vez, mas você sempre pode olhar para a frente para criar aplicativos web maiores e maiores.