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.