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.