[BackEnd — parte01] Como funciona uma conexão em uma página web? — exclusivo para iniciantes
Hey kids!
Estou revisando o conteúdo dado no curso de back-end que fiz recentemente e estou aproveitando para dar uma engordada nele para futuramente disponibilizá-lo no UDEMY. Enquanto não sai o curso todo (mas estou fazendo a revisão e complementando o conteúdo), vou usá-los de cobaia para compartilhar um resumo das coisinhas por aqui 😊
Vamos abordar algumas coisinhas que achei interessantes para um iniciante no mundo das aplicações web conhecer. Vamos lá?
Lembrando que este post é voltado para iniciantes! (mas se eu escrever alguma bobagem, sinta-se à vontade para me corrigir, e eu arrumo no post 😄)
Aposto que você iniciante, assim como eu, poucas vezes (ou nenhuma) se pegou pensando sobre como a internet funciona. Já parou para pensar como você, pessoinha, consegue pegar seu celular / tablet / notebook / computador / smart watch e usar um aplicativo como o facebook ou o medium?
Pois é, eu também não.
Mas antes de falar sobre isso, acho importante entendermos a internet…
Afinal, o que é internet?
Se você procurar no google vai encontrar uma série de definições interessantes. Comumente ela é definida como uma rede que interconecta computadores e outras redes e etc. No curso vou disponibilizar um pouco sobre a história da internet, mas falando de forma super resumida:
A ideia da internet surgiu na época da Guerra fria, com o objetivo de criar um sistema de comunicação entre as bases militares que não ruísse caso o Pentágono fosse atacado — toda comunicação até então passava por lá. A Guerra fria passou mas a ideia de manter universidades, centros de pesquisa e bases militares conectados continuou. Nesse período foi criado o primeiro backbone subterrâneo — uma espécie de espinha dorsal responsável por facilitar as conexões entre dispositivos conectados na internet, inclusive responsável por garantir que sua conexão chegue a qualquer país caso seja necessário [menos China e Coréia do Norte, cujo backbone — se existir — deve ser bloqueado para envio recebimento de acessos].
Em 1969, já criada a Arpanet, nasceu o protocolo que sustenta a internet até hoje: O TCP/IP — responsável pelo padrão de comunicação entre dispositivos conectados à internet.
Alguns anos mais tarde, lá por 1980, o cientista britânico Tim Berners-Lee foi responsável pela criação do WWW (World Wide Web). A ideia era criar uma maneira de linkar todos os documentos (páginas, áudios, vídeos, etc) contidos na internet através de um protocolo de comunicação chamado HTTP, responsável pela comunicação entre o browser e as aplicações web existentes. O conceito de browser como responsável por exibir os documentos contidos na internet e o HTML como linguagem de marcação padrão para exibição dos documentos no browser também foram criados pelo Tim. Na minha opinião, sem isso talvez não existisse internet — RYSOS
Legal. Mas você pode estar pensando neste momento:
E como é que funciona a minha conexão ao Facebook, por exemplo?
É mais ou menos assim:
Como funciona uma conexão em uma página web?
- Uguinho tem em casa um roteador wi-fi de um famoso provedor de internet — que é o responsável por conectar sua rede wi-fi a um backbone brasileiro. Ele faz isso usando TCP/IP na conexão com a internet; Ele abriu o browser do computador e digitou: www.facebook.com, e apertou ENTER.
- Com o domínio digitado, o browser direciona a conexão para um servidor DNS, que vai buscar qual a URL (uniform resource locator) relacionada ao domínio digitado. Este é o endereço IP/porta onde o documento / aplicação que o Uguinho quer ver está hospedado. Sem o endereço IP, não é possível localizar o documento. Após essa identificação, a conexão vai para um dos backbones brasileiros;
- Com o IP devidamente identificado, é possível saber se a aplicação está hospedada no Brasil ou em outro país, por causa da faixa de IPs disponível para cada país*. No nosso exemplo, o backbone brasileiro vai direcionar a conexão para um backbone dos EUA;
- O backbone dos EUA direciona a conexão para o servidor / porta identificados na URL;
- O servidor recebe a conexão. É uma requisição do protocolo HTTP, que é responsável pela comunicação com aplicações ou páginas web. Mas o que tem nela?
Significa que o Uguinho pediu, através do browser do computador dele, para exibir o conteúdo da página www.facebook.com
Se no momento que o servidor receber a requisição estiver tudo certinho com a porta 80 — que é onde acontece a conexão no caso de aplicações web (existem outras portas com outros objetivos — e usando outros protocolos de comunicação), é devolvido um status (200 — Ok) e é devolvido um código HTML para exibir no browser — que percorre o mesmo caminho todo na volta.
*quando usamos uma VPN, emulamos para nosso dispositivo um IP de um país qualquer, e isso nos possibilita nos conectar a aplicações web de outras localidades com um IP diferente do nosso, o que pode por exemplo habilitar funcionalidades que não estejam disponíveis para a faixa de IP do nosso país — é o que a galera usa quando algum juiz manda suspender o Whatsapp — RYSOS.
Não é, no mínimo, curioso como isso acontece tão rápido? 😍
Seria interessante falar agora sobre protocolos e tudo mais, mas como já abordei esse assunto aqui mesmo no blog há uns meses, segue abaixo os links para leitura:
Aqui do blog
- Dia 13 — Saindo um pouco do Python e dando alguns passos para trás — parte 1
- Dia 14 [dando alguns passos para trás ] — parte 2 (comunicação)
- Dia 15 [dando alguns passos para trás ] — parte 3 (comunicação)
De outros sites
- Como funciona a internet e a World Wide Web (este link é ótimo, recomendo como primeira leitura)
No próximo post falaremos brevemente sobre front-end e sobre back-end, sobre algumas linguagens e como escolher a linguagem certa para a sua aplicação.
Arrideverci!
Mi
Fontes:
- https://pt.stackoverflow.com/questions/43224/qual-a-diferen%C3%A7a-entre-url-e-uri — acessado em 23/12/2017
- http://adrianorosa.com/blog/seguranca/ftp-e-nao-e-seguro-saiba-por-que.html — acessado em 23/12/2017
- Livro: Comunicação de dados e redes de computadores — Behrouz A. Forouzan — 4a edição, 2008
- https://www.tecmundo.com.br/tecmundo-explica/74967-tecmundo-explica-backbone-internet-video.htm — acessado em 12/12/2017
- https://www.tecmundo.com.br/internet/117783-cabo-submarino-liga-brasil-eua-finalizado-r-1-6-bilhao.htm — acessado em 12/12/2017
- https://www.tecmundo.com.br/internet/31311-como-a-internet-passa-de-um-continente-para-o-outro-.htm — acessado em 12/12/2017
- https://sites.google.com/site/historiasobreossitesdebusca/historia-da-internet/tudo-sobre-internet — acessado em 22/12/2017
- https://pt.wikipedia.org/wiki/Comuta%C3%A7%C3%A3o_de_pacotes — acessado em 22/12/2017
- https://www.weblink.com.br/blog/tecnologia/historia-da-internet-os-primeiros-passos-da-rede-mundial-de-computadores/ — acessado em 22/12/2017
- http://ceweb.br/linhadotempo/ — acessado em 22/12/2017
- https://www.tecmundo.com.br/web/759-o-que-e-world-wide-web-.htm — acessado em 22/12/2017
- http://aprendendoaweb.blogspot.com.br/2008/03/o-que-www.html — acessado em 22/12/2017
- https://www.palpitedigital.com/o-que-e-servidor-dns/ — acessado em 22/12/2017
- https://canaltech.com.br/internet/veja-como-escolher-o-melhor-servidor-dns-para-acelerar-sua-navegacao/ — acessado em 22/12/2017
- https://en.wikipedia.org/wiki/Backbone_network — acessado em 22/12/2017