Alura > Cursos de Programação > Cursos de Computação > Conteúdos de Computação > Primeiras aulas do curso Redes e Protocolos: fundamentos da web

Redes e Protocolos: fundamentos da web

Fundamentos de redes e TCP/IP - Apresentação

Apresentando o instrutor e o curso

Olá! Meu nome é Leonardo e estarei acompanhando vocês neste curso de redes e introdução à parte da infraestrutura da web.

Audiodescrição: Leonardo é um homem pardo, com cabelo e barba escuros, usa óculos retangulares pretos e veste uma camisa polo marrom. Ao fundo, há uma iluminação com leds azuis e alguns detalhes quadriculados.

Explorando a infraestrutura da web

Neste curso, vamos aprender como funciona toda a parte da internet e os mecanismos que nos permitem construir aplicações web. Primeiramente, vamos entender como funciona a infraestrutura da web. Exploraremos os protocolos e compreenderemos como uma mensagem chega do nosso navegador até o servidor de qualquer outra aplicação, seja o Google, Netflix ou Spotify. Em seguida, vamos nos aprofundar no principal protocolo utilizado para criar aplicações web, que é o protocolo HTTP.

Depois, vamos entender quais são os métodos que o protocolo exige e as características necessárias para escrever uma mensagem que atenda a esse protocolo. Entraremos em detalhes sobre como o protocolo opera, principalmente em relação à armazenagem e segurança de dados dentro do protocolo e da internet de forma geral.

Discutindo ferramentas e suporte para desenvolvimento web

Falaremos também sobre a infraestrutura da web, ou seja, algumas ferramentas, empresas e produtos que nos ajudam a construir aplicações web. Isso inclui não apenas a hospedagem de aplicações, mas também o desenvolvimento, acompanhamento, depuração, teste e viabilização das aplicações que podemos criar nesse modelo, quando pensamos na internet.

Além dos vídeos, temos uma série de atividades que podemos realizar. Caso surjam dúvidas, há o fórum da plataforma e o grupo do Discord, onde podemos consultar informações que possam nos ajudar.

Iniciando o estudo de aplicações web

Vamos começar mais uma parte do entendimento de como funciona toda essa dinâmica de construção de aplicações, agora voltada para aplicações web.

Fundamentos de redes e TCP/IP - Introdução às redes

Introduzindo o compartilhamento de aplicações na web

Agora que já passamos pelo desenvolvimento de aplicações como o Soli e entendemos como a parte web é estruturada com HTML, CSS e JavaScript, surge a dúvida: como podemos compartilhar nossa aplicação para que o mundo todo possa utilizá-la? Até o momento, conseguimos testar nossas aplicações localmente e verificar como elas funcionam dentro do nosso computador. No entanto, para disponibilizá-las mundialmente, precisamos de mecanismos que permitam o compartilhamento do programa que criamos. Um dos modelos mais comumente usados para essa distribuição é a internet e o desenvolvimento de aplicações web.

A programação é uma parte fundamental da web, especialmente no que diz respeito ao desenvolvimento do back-end. Para compartilhar isso globalmente, utilizamos os mecanismos da internet e a infraestrutura global da web. Vamos entender como a web funciona de maneira abrangente. A partir de agora, exploraremos os mecanismos que fazem a internet funcionar como ela é. Usaremos o exemplo comum de acessar uma URL pelo navegador. Quando digitamos um site na barra de endereços, enviamos uma solicitação ao navegador para acessar um determinado site. O navegador, que possui um cliente HTTP, envia essa solicitação pela internet, passando por diversos intermediários até chegar ao servidor da página, como o Google, por exemplo.

Explicando o funcionamento das solicitações na web

Os servidores da web entendem essa solicitação, procuram o site ou página solicitada e, uma vez encontrada, devolvem uma resposta. Essa resposta é processada pelo navegador, que exibe o conteúdo, podendo ser HTML, PDF, imagem, ou JSON. Não estamos limitados apenas a HTML, CSS e JavaScript; existem diversos tipos de dados que podemos receber. Esse é o mecanismo que compõe todas as etapas de uma solicitação comum na web ao digitarmos um endereço de site na barra de endereços. Precisamos entender como esses mecanismos permitem que tenhamos uma infraestrutura capaz de realizar solicitações e obter respostas.

A internet surgiu como um projeto colaborativo entre universidades, com o objetivo de compartilhar rapidamente trabalhos realizados em laboratórios e centros de pesquisa. Isso só seria possível com uma rede global de dispositivos interconectados. Para comunicar-se entre o Brasil e universidades nos EUA, Europa ou Ásia, era necessário ter dispositivos espalhados pelo mundo, servindo como intermediários entre pontos distantes. Assim como um avião faz paradas em sua rota, a internet também possui pontos de parada para que a informação chegue de um ponto a outro.

Comparando LAN e WAN

Para disponibilizar recursos, era necessário uma linguagem comum, que conseguimos através dos protocolos. A internet é um modelo global de compartilhamento de recursos, mas existem redes menores, como a LAN, que são usadas em empresas ou no cotidiano para permitir o compartilhamento de recursos de forma controlada. A LAN é um modelo local, como um interfone em um prédio, enquanto a WAN é mais abrangente, como um telefone comum que permite ligações nacionais sem a necessidade de um DDI.

A diferença entre LAN e WAN está na abrangência geográfica e no controle de acesso à informação. A LAN é restrita a um estabelecimento ou alguns andares de um prédio, enquanto a WAN pode abranger uma empresa com várias filiais, permitindo o compartilhamento de informações internas. A internet, por sua vez, é um modelo mundial de compartilhamento interconectado entre dispositivos.

Discutindo o acesso público e privado na internet

Além disso, a LAN é considerada privada, sem acesso externo, enquanto a WAN pode ter dados públicos ou privados. A internet, por ser global, permite o compartilhamento de informações públicas e privadas, dependendo da configuração de acesso.

Um exemplo de uma WAN pode ser pública ou privada. Consideremos uma universidade que deseja disponibilizar algumas informações, como o calendário escolar. Essa informação pode ser pública, permitindo que qualquer pessoa acesse o calendário. No entanto, informações como notas são mais privadas e, nesse cenário, provavelmente desejamos mantê-las internas. Assim, podemos configurar a rede para que apenas aqueles conectados à rede local da universidade possam acessar certas páginas, enquanto outras informações ficam disponíveis na rede pública. A universidade pode usar a mesma infraestrutura da internet para transmitir informações públicas, enquanto as informações privadas são acessíveis apenas localmente, em alguns polos da universidade, para acessar recursos como notas ou faltas.

Explorando as características de LAN, WAN e internet

A internet, por padrão, é pública e não possui restrições nativas de acesso. Todos os mecanismos que permitem um acesso mais restrito são implementados por meio de aplicações. Para acessar um recurso específico, basta conhecer o endereço e, dependendo da aplicação, um login pode ser necessário. A questão de público e privado nas redes se dá pelo acesso. LANs e WANs tendem a ser restritas, permitindo acesso apenas a quem está dentro da rede. Na LAN, todos os conectados têm acesso aos recursos, e o mesmo vale para a WAN, geralmente voltada para uma instituição.

A internet é aberta, permitindo que qualquer pessoa que conheça a URL acesse o recurso, seja uma página web ou uma foto, sem restrições de acesso. Por isso, quando estamos na internet, estamos em um ambiente aberto, sem restrições de acesso, a menos que a aplicação tenha particularidades. LANs e WANs, por serem redes mais controladas, são geralmente mais rápidas que a internet. Em uma LAN, o tráfego é local e rápido, funcionando quase instantaneamente. Já a internet pode ter várias etapas de comunicação, o que pode afetar a velocidade.

Analisando latência, custo e confiabilidade

A latência, ou tempo de resposta, é uma característica importante. Na internet, a latência pode ser alta devido ao tempo de requisição até o servidor e a resposta. Quando uma página é carregada novamente, o cache do navegador torna o processo mais rápido, semelhante a uma LAN, onde a latência é baixa. A WAN pode ter variações de velocidade dependendo dos locais.

O custo é outro fator a considerar. Implementar uma LAN tem um custo baixo, enquanto a internet e a WAN têm custos mais altos devido à infraestrutura necessária. A internet funciona globalmente porque os países compartilham os custos operacionais, desde redes locais até cabos submarinos.

A confiabilidade é alta em LANs, com poucas interferências na comunicação. Em WANs, a confiabilidade pode variar devido a fatores regionais. A internet, sendo compartilhada, tem várias etapas intermediárias que podem afetar a confiabilidade, dependendo do local de acesso e dos intermediários envolvidos.

Concluindo a compreensão dos mecanismos da internet

A internet é vasta e entender todos os seus mecanismos não é trivial. Existem muitas etapas e divisões que nos ajudam a compreender seu funcionamento. Já abordamos como a internet funciona de maneira abrangente, os tipos principais de redes (internet, LAN e WAN) e suas diferenças. Agora, vamos explorar como elas se comunicam por meio de protocolos que permitem o acesso a recursos em diferentes locais.

Fundamentos de redes e TCP/IP - Protocolo TCP/IP

Introduzindo a importância dos protocolos na internet

Agora que já passamos por uma visão geral sobre o funcionamento da infraestrutura da internet, é importante entendermos como a comunicação entre o navegador e outros serviços da internet ocorre. Para isso, é necessário que uma linguagem comum entre todas as partes da infraestrutura da internet seja estabelecida, garantindo que essa comunicação seja eficiente. Isso é o que chamamos de protocolos quando falamos de internet.

O protocolo talvez mais importante que utilizamos atualmente para nos comunicarmos e usarmos boa parte dos serviços da internet é o protocolo TCP/IP. Ele abrange uma série de camadas dentro da internet, permitindo que cada uma dessas camadas tenha as particularidades do envio de uma mensagem, possibilitando que consigamos acessar informações na internet. Vamos entender então como o protocolo TCP/IP funciona.

Explorando as camadas do protocolo TCP/IP

Devemos compreender que o protocolo TCP/IP opera com uma série de camadas que, juntas, compõem o protocolo inteiro. A primeira camada, ou a camada mais alta do protocolo, é a camada de aplicação, que é basicamente a transmissão da informação que queremos compartilhar. Dentro do protocolo TCP/IP, na camada de aplicação, temos protocolos dentro de outros, como o protocolo HTTP.

Vamos entender melhor como funciona essa parte do HTTP, pelo menos de uma maneira mais geral, para vermos como ele está dentro da parte do TCP. O que seria a camada de aplicação quando falamos do TCP/IP? Vamos considerar o nosso navegador. Quando precisamos digitar um endereço, por exemplo, o endereço da Alura, digitamos no Google "Alura" e clicamos no link. Mesmo que o link mostre apenas "alura.com.br", se formos com a seta na barra de endereços do navegador até o início, conseguimos ver "HTTPS". Ou seja, dentro do navegador, para fazermos a transmissão de uma página web, utilizamos o HTTP na camada de aplicação.

Inspecionando a comunicação HTTP

Se inspecionarmos essa página e acessarmos a parte de rede, ao atualizar a página, conseguimos ver todos os pacotes que serão transferidos. Observamos uma série de pacotes, incluindo imagens, GIFs, sons, se necessário, e links. Há uma transmissão significativa de informação. No primeiro item, que é a atualização da página, verificamos que a requisição foi feita através do HTTPS, que foi a página que acessamos para obter a informação da página HTML da Alura. Nesse exemplo, temos um exemplo claro da camada de aplicação do TCP/IP, que opera sobre o HTTP.

Embora pareça haver muita informação, não se preocupe. Vamos detalhar todas as particularidades da parte do HTTP, pois além do TCP, essa pequena parte do protocolo inteiro, que é o HTTP, é fundamental para entendermos como funcionam aplicações web. Isso será explicado posteriormente.

Compreendendo a camada de transporte

Continuando com as camadas do TCP/IP, vamos para a camada de transporte, que é a camada anterior à do HTTP. Ela gerencia a transmissão de dados utilizando outros dois protocolos possíveis: o TCP e o UDP. Não devemos confundir TCP/IP com TCP. Muitas vezes, há uma confusão inicial que leva a crer que os dois são a mesma coisa, mas não são. TCP/IP é todo esse conjunto que abrange todas as camadas de comunicação da internet com as quais trabalhamos. Dentro do TCP/IP, temos a camada de transporte que pode transferir informações por TCP ou UDP. Portanto, TCP/IP e TCP são coisas diferentes.

Explorando ferramentas de rede no Windows

Agora, vamos olhar para uma questão mais interna do computador e entender como o próprio sistema operacional do Windows possui ferramentas que nos permitem verificar algumas questões da rede do nosso computador. Por exemplo, se quisermos verificar usando o TCP, já que vimos a camada de aplicação, não precisamos ver o HTTP no momento. Vamos focar apenas no TCP. Para testar o TCP no Windows, podemos digitar no terminal telnet alura.com.br e pressionar "Enter". Ele se conectará com o ambiente da Alura, e o comando que inserimos desaparecerá.

telnet alura.com.br

Ao pressionarmos "Ctrl+C" e interrompermos a conexão, o sistema indicará que a conexão foi fechada. Ele apresentará um resultado, mostrando que tentamos nos conectar a outro servidor, exibindo ainda o HTTP utilizado, incluindo a versão. Essa tentativa foi feita por meio de uma conexão TCP, que é o telnet. Assim, conseguimos observar o uso de duas partes da camada do TCP/IP: a camada TCP, quando solicitamos o telnet, e a camada de aplicação, que nos devolveu o HTTP.

Utilizando o comando curl para visualizar a camada de aplicação

Vamos agora explorar como visualizar a camada de aplicação do TCP/IP diretamente pelo terminal. Ao digitar o comando curl, que é um comando do Windows, podemos utilizá-lo como um cliente HTTP para consumir informações da internet via protocolo HTTP. Utilizamos a opção "-v" para tornar a informação mais descritiva, caso contrário, ele informará apenas o geral da requisição. Ao inserir https://alura.com.br, ele apresenta toda a questão da conexão com o site da Alura e todos os parâmetros necessários para essa conexão.

curl -v https://alura.com.br

Posteriormente, entenderemos várias das informações apresentadas. Algumas delas já podemos verificar, como a apresentação do HTTP na versão 1.1. Veremos também outras versões do HTTP. Ele também mostra o host que estamos tentando acessar, que é o alura.com.br.

Analisando as camadas de rede e interface de rede

Agora, vamos analisar as outras camadas que compõem o TCP/IP. Após a camada de transporte, passamos para a camada de rede. A camada de rede é responsável pelo roteamento, identificando o caminho necessário para alcançar o destino desejado. Funciona como um GPS da internet, ajudando a determinar a rota que a comunicação deve seguir.

Por último, temos a camada de interface de rede, que lida com a transmissão elétrica dos sinais necessários para a comunicação. Essa parte está mais próxima da engenharia elétrica e dos componentes que compõem a internet. A comunicação nessa camada é feita principalmente por meio de um endereço, que entenderemos melhor mais adiante, conhecido como MAC address.

No computador, ao digitar ipconfig /all, podemos visualizar todas as informações da rede, tanto local quanto da internet. Um campo específico para a camada física do TCP/IP é o endereço físico, que é um código alfanumérico vinculado ao hardware do computador. Cada dispositivo que utiliza a internet, como computadores, roteadores, celulares, modems, ou consoles de videogame, possui esse endereço físico, que é reconhecido pelo protocolo TCP/IP.

ipconfig /all

Concluindo a visão geral do protocolo TCP/IP

Com isso, já temos uma visão geral de como funciona o protocolo TCP/IP. É importante entender as características de algumas dessas camadas para manipular adequadamente as informações, fazer pedidos corretos e interpretar as respostas recebidas. A partir daqui, vamos explorar a camada de transporte e entender as diferenças entre TCP e UDP. É essencial saber diferenciar o que cada um faz, pois existem duas opções dentro da camada de transporte. Começaremos a ver essas diferenças entre TCP e UDP.

Sobre o curso Redes e Protocolos: fundamentos da web

O curso Redes e Protocolos: fundamentos da web possui 200 minutos de vídeos, em um total de 47 atividades. Gostou? Conheça nossos outros cursos de Computação em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Escolha a duração do seu plano e aproveite até 44% OFF

Conheça os Planos para Empresas