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