WEBVTT 00:00:02.719 --> 00:00:07.360 HTTP e HTML na Internet 00:00:07.360 --> 00:00:11.740 Eu sou Jasmim e sou gerente de programas da equipe de engenharia da XBOX One 00:00:11.759 --> 00:00:18.700 Um de nossos maiores recursos é conhecido como XBOX Live. Trata-se de um serviço online que conecta 00:00:18.700 --> 00:00:24.099 jogadores de todo o mundo, e dependemos da internet para o sistema funcionar. 00:00:24.099 --> 00:00:30.500 Não é uma tarefa fácil e há muitas coisas acontecendo nos bastidores. A internet esta mudando 00:00:30.500 --> 00:00:36.280 completamente a forma como as pessoas interagem e se conectam. Mas como ela funciona? Como os 00:00:36.280 --> 00:00:43.489 computadores em todo o mundo se comunicam de fato uns com os outros? Vamos avaliar a navegação na internet. 00:00:43.489 --> 00:00:50.199 Primeiro, você abtre um navegador. É o aplicativo que você usa para acessar as páginas da internet. Em seguida, você 00:00:50.199 --> 00:00:55.899 digita um endereço de internet, ou uma URL, que significa Uniform Resource Locator do site que 00:00:55.899 --> 00:01:06.810 você quer visitar, como tumblr.com. Oi, eu sou David Karp, fundador do Tumblr, e estamos 00:01:06.810 --> 00:01:12.560 aqui hoje para falar sobre como os navegadores que utilizamos todos os dias funcionam de fato. Você 00:01:12.560 --> 00:01:16.350 provavelmente já imaginou o que realmente acontece quando você digita um endereço no seu navegador e 00:01:16.350 --> 00:01:21.020 tecla Enter. E é realmente uma loucura, como você pode imaginar. Nesse momento, o seu computador 00:01:21.020 --> 00:01:25.930 começa a conversar com outro computador, conhecido como servidor, que costuma estar a milhares 00:01:25.930 --> 00:01:32.450 de quilômetros de você. E em milé-simos de segundos, seu computador pede ao servidor acesso a um site, e 00:01:32.450 --> 00:01:39.530 o servidor começa a conversar com o seu computador em um idioma chamado HTTP. HTTP significa Hyper 00:01:39.530 --> 00:01:43.680 Text Transfer Protocol. Pode-se dizer que é uma língua utilizada pelos computadores 00:01:43.680 --> 00:01:48.009 para solicitar documentos de outro computador. Na verdade, tudo é muito ágil. 00:01:48.009 --> 00:01:52.540 Se você interceptar uma conversa entre o seu computador e um servidor 00:01:52.540 --> 00:01:56.670 de internet, verá principalmente algo que chamamos de solicitações “GET”. São simples comandos para OBTER 00:01:56.670 --> 00:02:01.590 seguido do nome do documento que você está solicitando. Assim, se você tentar acessar o Tumblr e 00:02:01.590 --> 00:02:06.360 entrar na página de log-in, tudo o que estará fazendo é enviar uma solicitação de OBTER ao servidor do 00:02:06.360 --> 00:02:14.290 Tumblr que diz OBTENHA/log-in. Isso diz ao servidor do Tumblr que você quer todos os códigos HTML da 00:02:14.290 --> 00:02:21.800 página de log-in do Tumblr. HTML é uma linguagem de interpretação de hipertexto e você pode 00:02:21.800 --> 00:02:26.470 considerá-la uma língua utilizada para dizer ao navegador que aparência a página deve ter. 00:02:26.470 --> 00:02:30.540 Se você pensar em algo como a Wikipedia, que é na verdade apenas um grande documento simples 00:02:30.540 --> 00:02:35.630 e que o HTML é a linguagem que você vê exibindo o texto grande em negrito, para que a fonte 00:02:35.630 --> 00:02:42.690 seja adequada, links para determinados textos de outras páginas, para destacar algum tema, alguns trechos 00:02:42.690 --> 00:02:46.740 em itálico, imagens inseridas no centro da página, alinhamento de imagens à direita ou à esquerda. 00:02:46.740 --> 00:02:52.990 O texto de uma página na internet é incluído diretamente no HTML, 00:02:52.990 --> 00:02:58.380 mas outros elementos, como imagens ou vídeos, são arquivos separados, com sua própria URL, que precisam 00:02:58.380 --> 00:03:04.540 ser solicitados. O navegador envia solicitações HTTP separadas para cada um e os exibe da forma que 00:03:04.540 --> 00:03:11.670 são recebidos. Se uma página na internet tiver muitas imagens diferentes, cada uma faz uma solicitação HTTP 00:03:11.670 --> 00:03:20.780 separada e o carregamento da página é mais lento. Às vezes, quando você navega pela internet, você não 00:03:20.780 --> 00:03:25.880 está apenas solicitado páginas com pedidos de OBTER. Às vezes você envia informações, como quando você 00:03:25.880 --> 00:03:32.300 preenche um formulário ou digita um texto a ser pesquisado. Seu navegador envia essas informações em formato 00:03:32.300 --> 00:03:39.090 de texto simples ao servidor de internet, utilizando uma solicitação HTTP POST. Digamos que você acesse 00:03:39.090 --> 00:03:45.360 o Tumblr. A primeira coisa que você faz é uma solicitação POST, que é um POST para a página de acesso do 00:03:45.360 --> 00:03:49.680 Tumblir, que contém alguns dados anexados a ele. Ele contém seu endereço de e-mail, sua senha, que são 00:03:49.680 --> 00:03:55.350 enviados para o servidor do Tumblr. O servidor do tumblr decobre que, tudo bem, você é o David. Ele envia uma 00:03:55.350 --> 00:04:00.480 página da internet de volta ao seu navegador que diz, Sucesso! Acesso concedido a David. Mas junto com essa 00:04:00.480 --> 00:04:07.000 página da internet, ele também anexa alguns cookies invisíveis com dados que o seu navegador vê e salva. 00:04:07.000 --> 00:04:11.360 E são realmente importantes, porque são o único meio que o site tem para se lembrar de quem você é. 00:04:11.360 --> 00:04:16.940 Tudo que esses dados de cookies são, na verdade, é uma identidade para o Tumblr. É um número que 00:04:16.940 --> 00:04:21.790 identifica você como David. E seu navegador guarda esse número, e da próxima vez que 00:04:21.790 --> 00:04:26.660 você atualizar o Tumblr, da próxima vez você acessar o Tumblr.com, seu navegador automaticamente 00:04:26.660 --> 00:04:30.930 associará esse número à solicitação que enviar over para os servidores do Tumblr. Agora os servidores 00:04:30.930 --> 00:04:35.970 do Tumblr verão a solicitação vindo do seu navegador, o número de identificação, e saberão 00:04:35.970 --> 00:04:43.940 que “esta é uma solicitação do David”. Agora, a internet é inteiramente aberta. Todas as conexões são 00:04:43.940 --> 00:04:49.350 compartilhadas e as informações são enviadas em formato de texto simples. Isto permite que hackers 00:04:49.350 --> 00:04:55.630 bisbilhotem quaisquer dados pessoais que você enviar pela internet. Mas os 00:04:55.630 --> 00:05:00.970 sites seguros evitam isto, solicitando ao seu navegador que se comunique em um canal seguro, utilizando 00:05:00.970 --> 00:05:07.630 o que chamamos de Secure Sockets Layer e sua sucessora, a Transport Layer Security. 00:05:07.630 --> 00:05:14.000 Você pode imaginar a SSL e a TLS como uma camada de segurança que envolve suas comunicações 00:05:14.000 --> 00:05:20.530 para protegê-las contra a bisbilhotagem ou a manipulação. SSL e TLS se ativam quando você vê um pequeno 00:05:20.530 --> 00:05:27.440 cadeado na barra de endereços do navegador, ao lado do HTTPS. O protocolo HTTPS 00:05:27.440 --> 00:05:33.840 garantem e segurança e a proteção das suas solicitações HTTP. Quando um site pede ao seu navegador 00:05:33.840 --> 00:05:39.500 para se envolver em uma conexão segura, primeiro ele fornece um certificado digital. Que é como 00:05:39.500 --> 00:05:45.140 uma carteira de identidade oficial comprovando que é o site que diz ser. Os certificados digitais 00:05:45.140 --> 00:05:49.900 são publicados por autoridades certificadoras, que são entidades confiáveis que verificam a 00:05:49.900 --> 00:05:55.280 identidade dos sites e emite certificados para eles. Assim como um governo pode emitir 00:05:55.280 --> 00:06:01.030 Identidades ou passaportes. Agora, se um site tentar iniciar uma conexão segura sem um certificado 00:06:01.030 --> 00:06:09.590 digital válido, seu navegador avisará você. Estes são os fundamentos da navegação na internet! 00:06:09.590 --> 00:06:17.010 A parte da internet que vemos todos os dias. Para resumir, HTTP e DNS gerenciam o envio e 00:06:17.010 --> 00:06:23.450 o recebimento de HTML, arquivos de mídia ou qualquer coisa na internet. O que torna isto possível no 00:06:23.450 --> 00:06:30.370 mecanismo são redes TCP/IP e roteadores que desmembram e transferem informações em pequenos 00:06:30.370 --> 00:06:36.670 pacotes. Esses pacotes são feitos de sequências binárias, de uns e zeros, 00:06:36.670 --> 00:06:42.550 que são fisicamente enviadas por fios elétricos, cabos de fibra óptica e redes sem fio. 00:06:42.550 --> 00:06:47.440 Felizmente, quando você aprende como funciona um camada da internet, você pode confiar nela 00:06:47.440 --> 00:06:52.070 mesmo que não se lembre de todos os o detalhes. E nós podemos acreditar que todas essas camadas vão funcionar 00:06:52.070 --> 00:06:59.090 juntas para entregar informações com êxito, em escala e de forma confiável.