0:00:02.719,0:00:07.330 A Internet: HTTP e HTML 0:00:07.810,0:00:12.999 O meu nome é Jasmine e sou gestora[br]do programa na equipa de engenharia da XBOX One. 0:00:13.999,0:00:16.999 Uma das nossas maiores características[br]chama-se XBOX Live. 0:00:17.150,0:00:20.999 É um serviço online que faz a ligação[br]entre gamers de todo o mundo, 0:00:20.999,0:00:23.999 e contamos com a Internet para que isso aconteça. 0:00:24.099,0:00:28.999 Isto não é uma tarefa fácil e há muitas coisas[br]a acontecer nos bastidores. 0:00:29.670,0:00:33.999 A internet está a mudar totalmente a forma[br]como as pessoas interagem e se ligam. 0:00:33.999,0:00:35.999 Mas como é que funciona? 0:00:35.999,0:00:40.999 Como é que os computadores de todo o mundo[br]de facto comunicam uns com os outros? 0:00:40.999,0:00:42.999 Vejamos a navegação na Internet. 0:00:43.489,0:00:45.999 Primeiro, abre-se um navegador web. 0:00:46.319,0:00:49.876 É a aplicação que utilizamos[br]para aceder às páginas web. 0:00:49.999,0:00:55.999 Depois, escreves o endereço web, ou URL,[br]que significa Localizador Uniforme de Recursos, 0:00:55.999,0:00:58.999 da página web que queres visitar,[br]como tumblr.com. 0:01:03.999,0:01:06.680 Olá, eu sou David Karp,[br]o fundador da Tumblr e nós somos 0:01:06.680,0:01:11.667 e estamos aqui hoje para falar sobre como os navegadores[br]web que usamos todos os dias realmente funcionam. 0:01:11.999,0:01:14.999 Provavelmente já te perguntaste o que realmente[br]acontece quando escreves um endereço 0:01:14.999,0:01:17.999 no teu navegador da Internet[br]e depois carregas no 'enter'. 0:01:17.999,0:01:19.999 E é realmente tão fixe[br]quanto podes imaginar. 0:01:19.999,0:01:24.999 Nesse momento, o teu computador começa[br]a falar com outro computador, chamado servidor, 0:01:24.999,0:01:27.876 que normalmente está a milhares[br]de quilómetros de distância, e 0:01:27.876,0:01:31.999 em milissegundos, o teu computador[br]pede a esse servidor um sítio web, 0:01:31.999,0:01:36.999 e ele começa a responder-lhe numa língua[br]chamada HTTP. 0:01:36.530,0:01:40.999 HTTP significa HyperText Transfer Protocol[br](Protocolo de Transferência de Hipertexto). 0:01:40.999,0:01:45.999 Podemos pensar nisto como a língua que[br]um computador usa para pedir um documento a outro. 0:01:45.999,0:01:48.009 E, na verdade, ela é bastante simples. 0:01:48.009,0:01:53.999 Se interceptares a conversa entre o teu computador[br]e um servidor web na internet, ela será composta 0:01:53.999,0:01:55.999 principalmente de algo[br]a que chamamos pedidos "GET". 0:01:55.999,0:02:00.999 Estes pedidos são mesmo muito simples,[br]com a palavra "GET" e o nome do documento pedido. 0:02:00.999,0:02:03.999 Se estiveres a tentar entrar no Tumblr[br]e carregar a nossa página de login, 0:02:03.999,0:02:10.999 o que estás a fazer é enviar um pedido[br]ao servidor do Tumblr que diz "GET /login". 0:02:10.999,0:02:16.999 Isso diz ao servidor do Tumblr que queres[br]todo o HTML da página de login do site. 0:02:17.999,0:02:20.800 Então, HTML significa[br]Hyper Text Markup Language 0:02:20.800,0:02:26.999 e podes encará-lo como a língua usada para dizer[br]a um navegador web qual deve ser o aspeto da página. 0:02:26.470,0:02:30.999 Se pensares em algo como a Wikipedia,[br]que é realmente apenas um grande documento simples 0:02:30.540,0:02:34.630 o HTML é a linguagem que se utiliza para fazer[br]o título ficar grande e a negrito, para fazer a fonte 0:02:34.630,0:02:36.999 para por o tipo de letra certo, 0:02:36.999,0:02:42.999 para ligar um certo texto a outras páginas,[br]para por algum texto em negrito, 0:02:42.999,0:02:45.999 outro em itálico, para colocar[br]uma imagem no meio da página, 0:02:45.999,0:02:48.999 para alinhar a imagem para a direita,[br]para alinhar a imagem para a esquerda. 0:02:48.836,0:02:52.999 O texto de uma página web está[br]escrito directamente no HTML, 0:02:52.999,0:02:55.999 mas outras partes,[br]como imagens ou vídeos, 0:02:55.999,0:02:57.999 estão em ficheiros separados[br]com as suas próprias URLs 0:02:57.999,0:02:59.999 que é preciso pedir. 0:02:59.999,0:03:03.780 O navegador envia pedidos HTTP[br]separados para cada um deles 0:03:03.780,0:03:06.999 e mostra-os à medida que vão aparecendo. 0:03:07.999,0:03:13.999 Se uma página web tem muitas imagens diferentes,[br]cada uma delas gera um pedido HTTP separado, 0:03:13.999,0:03:16.999 fazendo com que a página[br]carregue mais lentamente. 0:03:18.999,0:03:23.999 No entanto, quando navegas na web,[br]às vezes não estás so a pedir páginas com pedidos GET. 0:03:23.999,0:03:26.999 Por vezes envias informação,[br]como quando preenches um formulário 0:03:26.999,0:03:28.999 ou escrever uma consulta de pesquisa. 0:03:29.320,0:03:33.999 O teu navegador envia esta informação[br]em texto simples para o servidor web 0:03:33.999,0:03:36.999 utilizando um pedido HTTP POST. 0:03:36.999,0:03:38.999 Digamos que vamos entrar no Tumblr. 0:03:38.999,0:03:40.999 Bom, a primeira coisa que é feita[br]é um pedido POST, 0:03:40.999,0:03:46.430 que é uma publicação na página de login do Tumblr,[br]contendo alguns dados anexos a ele. 0:03:46.430,0:03:48.999 Tem o teu e-mail, a tua palavra-passe... 0:03:49.680,0:03:53.999 Isso vai para o servidor do Tumblr, que[br]calcula que, sim senhor, és o David. 0:03:54.999,0:03:58.999 Ele envia uma página de volta ao teu navegador que diz:[br]"Sucesso! Sessão iniciada como David." 0:03:58.999,0:04:03.999 Mas, juntamente com essa página web,[br]junta também pequenos dados cookie invisíveis 0:04:03.999,0:04:07.999 que o teu navegador vê[br]e sabe que deve guardar. 0:04:07.999,0:04:11.590 E é realmente importante, porque é na verdade[br]a única forma de um website se lembrar de quem és. 0:04:12.000,0:04:15.680 Todos esses dados cookie são, na realidade,[br]um cartão de identificação para a Tumblr. 0:04:15.680,0:04:18.999 É um número que te identifica[br]como sendo o David. 0:04:18.999,0:04:22.999 O teu navegador guarda esse número[br]e da próxima vez que atualizares o Tumblr 0:04:22.999,0:04:24.999 ou que fores a tumblr.com, 0:04:24.999,0:04:28.999 o teu navegador web sabe automaticamente[br]que deve juntar esse número de identificação 0:04:28.999,0:04:30.970 ao pedido que enviar para os servidores da Tumblr. 0:04:30.970,0:04:35.999 Os servidores da Tumblr vêem o pedido vindo[br]do teu navegador, o número de identificação, 0:04:35.999,0:04:38.834 e sabem: "Ok, isto é um pedido do David". 0:04:40.999,0:04:43.999 A Internet está completamente aberta. 0:04:43.110,0:04:47.999 Todas as suas ligações são partilhadas[br]e a informação é enviada em texto simples. 0:04:48.170,0:04:54.999 Isto permite aos hackers bisbilhotarem[br]quaisquer informações pessoais que envies pela internet. 0:04:54.999,0:05:00.970 No entanto, os websites seguros impedem-no,[br]pedindo ao seu navegador web para comunicar num canal seguro 0:05:00.970,0:05:06.999 utilizando uma coisa chamada Secure Sockets Layer[br]e a sua sucessora, Transport Layer Security. 0:05:07.530,0:05:14.000 Podemos pensar no SSL e TLS como uma camada[br]de segurança que envolve as nossas comunicações 0:05:14.000,0:05:17.999 para as proteger de bisbilhotices ou violações. 0:05:17.999,0:05:22.999 O SSL e o TLS estão activos quando vemos pequenos[br]cadeados na barra de endereços do navegador 0:05:22.999,0:05:25.999 ao lado do HTTPS. 0:05:25.330,0:05:31.999 Os protocolos HTTPS garantem que os nossos[br]pedidos HTTP estão seguros e protegidos. 0:05:31.999,0:05:35.999 Quando uma página web pede ao teu[br]navegador para entrar numa ligação segura, 0:05:35.999,0:05:41.999 ele envia primeiro um certificado digital,[br]que é como um bilhete de identidade oficial 0:05:41.999,0:05:43.999 que atesta que é o site é quem afirma ser. 0:05:44.140,0:05:47.999 Os certificados digitais são emitidos pelas[br]autoridades de certificação, 0:05:47.999,0:05:51.999 que são entidades de confiança que verificam[br]as identidades das páginas web 0:05:51.999,0:05:56.999 e emitem certificados para elas,[br]tal como um governo pode emitir BIs ou passaportes. 0:05:57.999,0:06:02.999 Se uma página web tentar iniciar uma ligação segura[br]sem um certificado digital emitido corretamente 0:06:02.999,0:06:04.999 O teu navegador irá avisar-te. 0:06:06.821,0:06:09.251 E pronto, isto é o básico[br]da navegação na internet! 0:06:09.590,0:06:12.999 A parte da Internet que vemos no dia a dia. 0:06:12.590,0:06:19.700 Para resumir, HTTP e DNS gerem o envio[br]e recepção de HTML, ficheiros multimédia, 0:06:19.700,0:06:21.999 ou qualquer coisa na web. 0:06:22.999,0:06:27.999 O que torna isto possível, nos bastidores,[br]são as redes TCP/IP e routers, 0:06:27.999,0:06:31.999 que decompõem e transportam informação[br]em pequenos pacotes. 0:06:31.999,0:06:34.999 Esses pacotes em si são[br]constituídos por binários, 0:06:34.999,0:06:39.040 sequências de 1s e 0s que são fisicamente[br]enviadas através de fios eléctricos, 0:06:39.040,0:06:41.999 cabos de fibra óptica e redes sem fios. 0:06:42.550,0:06:46.180 Felizmente, depois de teres aprendido[br]como funciona uma camada da Internet, 0:06:46.180,0:06:49.999 podes contar com ela sem teres de te[br]lembrar de todos os detalhes. 0:06:49.999,0:06:52.070 E podemos confiar que todas[br]essas camadas irão trabalhar 0:06:52.070,0:06:57.999 juntas para fornecer sucessivamente[br]informação à escala e de forma fiável.