If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

HTTP e HTML

O fundador do Tumblr David Karp e o gerente de programa do Xbox Jasmine Lawrence dão uma descrição detalhada de como os arquivos e páginas são enviados e recebidos usando HTTP e HTML.

Quer participar da conversa?

Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.

Transcrição de vídeo

RKA13C Sou Jasmine Lawrence, gerente de programação da equipe de engenharia do Xbox One. Uma das nossas maiores características é o Xbox Live, um serviço on-line que conecta gamers de todo o mundo. E contamos com a internet para isso acontecer! Essa não é uma tarefa fácil, há um monte de coisas acontecendo nos bastidores. A internet está mudando o modo de as pessoas interagirem e se conectarem. Como isso funciona? Como os computadores em todo o mundo de fato se comunicam uns com os outros? Vamos olhar para um navegador. Primeiro, você abre o navegador de internet pelo qual você pode acessar as páginas na rede. Em seguida, você digita o endereço web ou o URL, significa Localizador Uniforme de Recursos, referente ao site que você quer visitar, como o "tumblr.com". Oi, sou David Karp, fundador do Tumblr. Estou aqui para falar sobre como os navegadores que usamos todos os dias realmente funcionam. Você já se perguntou o que realmente acontece quando você digita o endereço no seu navegador e em seguida aperta a tecla Enter? É realmente bem louco imaginar isso! Nesse momento, o computador começa a se comunicar com outro computador, chamado de "servidor", que geralmente está a milhares de quilômetros de distância. Em milissegundos, seu computador requisita um site ou servidor, e esse servidor começa a se comunicar de volta com seu computador em uma linguagem chamada HTTP. HTTP significa "protocolo de transferência de hipertexto", que é um tipo de linguagem que um computador usa para pedir um documento a outro computador. Na verdade, é bem simples. Se você interceptar a conversa entre seu computador e um servidor na internet, ela é composta principalmente de algo chamado de "solicitações GET". Então ele apresenta a palavra "GET" seguida do nome do documento solicitado. Se você está tentando entrar no Tumblr e carrega a nossa página de login, tudo que está fazendo é enviar um pedido GET para o servidor do Tumblr. Ele diz "GET/login", dizendo ao servidor do Tumblr que você quer todo o código HTML para a página de login do Tumblr. HTML significa "linguagem de marcação de hipertexto". Você pode pensar nisso como a linguagem que você usa para dizer a um navegador como uma página deve se parecer. Se você pensar em algo como o Wikipédia, que é simplesmente um grande documento, o HTML é a linguagem que você usa para fazer este título grande em negrito, para fazer a fonte ser a fonte certa, para vincular determinado texto a outras páginas, para fazer algum texto em negrito, ou algum texto em itálico, para colocar uma imagem no meio da página, para alinhar a imagem para a direita ou para a esquerda... O texto de uma página na rede está incluso diretamente no HTML, mas outras partes, como imagens ou vídeos, são arquivos separados com as suas URLs, que precisam ser solicitadas. O navegador envia solicitações HTTP separadas para cada um deles e os exibe como eles chegam. Se uma página web tem um monte de imagens diferentes, cada uma delas faz um pedido da HTTP separado, e a página carrega mais lentamente. Às vezes, quando você navega na web, não está apenas solicitando páginas com solicitações GET. Às vezes, você envia informação ao preencher um formulário ou fazendo uma pesquisa. Seu navegador envia essa informação em texto simples para o servidor da rede, usando uma solicitação HTTP POST. Então digamos que você vai logar no Tumblr. A primeira coisa a fazer é um pedido POST, que em português significa "postar", na página de login do Tumblr, que tem alguns dados ligados a ele, como seu endereço de e-mail e sua senha... Isso vai até o servidor do Tumblr, que reconhece: "Ok, você é o David". E ele envia uma página de volta para seu navegador que diz: "Sucesso, logado como David". Mas, junto com essa página, ele também fornece alguns dados invisíveis de cookies, que o navegador vai visualizar e usar para memorizar. Isso é muito importante, porque é realmente a única maneira de um website lembrar quem você é. Os dados cookies são, na realidade, como um cartão de identificação para o Tumblr, é um número que o identifica como "David". Seu navegador mantém esse número e, na próxima vez em que você atualizar o Tumblr, na próxima vez em que você acessar o "tumblr.com", seu navegador sabe automaticamente associar esse número de identificação com o pedido que ele envia para o servidor do Tumblr. E então o servidor do Tumblr vê a solicitação vindo do seu navegador, vê o número de identificação e sabe que este é o pedido de David. Agora, a internet é completamente aberta, todas essas conexões são compartilhadas e as informações são enviadas em textos simples. Isso torna possível para os hackers espionarem qualquer informação pessoal que você envia pela internet. Mas sites seguros evitam isso, pedindo ao seu navegador que se comunique por um canal seguro, usando o que é chamado de Secure Sockets Layer e seu sucessor, o Transport Layer Security. Você pode pensar em SSL e TLS como uma camada de segurança acondicionada às suas comunicações para protegê-las de espionagem ou de adulteração. O SSL ou o TLS estão ativos quando você vê um pequeno cadeado que aparece na barra de endereços do navegador ao lado do HTTPS. Os protocolos HTTPS garantem que suas solicitações HTTP sejam seguras e protegidas. Quando um site pede ao navegador que exerça uma conexão segura, ele, primeiro, fornece um certificado digital, que é como um cartão de identificação oficial, provando que o site é o que afirma ser. Os certificados digitais são publicados por autoridades de certificação, que são entidades que verificam os sites com identidades confiáveis e emitem certificados para eles, assim como o governo pode emitir seu RG ou passaporte. Agora, se um site tenta iniciar uma conexão segura sem um certificado digital emitido corretamente, o navegador e irá avisá-lo. Isso é o básico de navegação na rede, a parte da internet que vemos no dia a dia. Para resumir, o HTTPS e o DNS gerenciam o envio e o recebimento de HTML, arquivos de mídia ou qualquer coisa na rede. O que torna isso possível sob o gabinete são redes TCP/IP e roteadores que quebram e transportam as informações em pequenos pacotes. Esses pacotes são feitos de código binário, sequências de 1 e 0 que são enviadas fisicamente através de fios elétricos, cabos de fibra ótica e redes sem fios. Uma vez que você tenha aprendido como uma das camadas da internet funciona, você pode confiar nela sem ficar lembrando de detalhes. Podemos confiar que todas as camadas trabalham juntamente de forma bem sucedida, de modo a enviar informações em escala e com confiabilidade.