Menu
Coddy logo textTech

O que é uma porta

Lição 10 de 47 do curso Redes com o Terminal da Coddy.

Um endereço leva sua solicitação até a máquina correta. Mas uma única máquina pode estar executando um site, um banco de dados e um servidor de e-mail ao mesmo tempo. Algo precisa indicar para qual deles a solicitação se destina.

Essa é uma porta: um número de 1 a 65535 que seleciona o programa. O endereço é o prédio; a porta é a entrada.

Em uma URL, ela vem depois de dois-pontos:

curl -s http://127.0.0.1:9104/hello.txt
#                        ^^^^ a porta

Um endereço e uma porta juntos identificam uma extremidade de uma conversa, e esse par é chamado de socket. Quando você ouve que um servidor “abriu um socket na porta 9104”, isso significa exatamente esse emparelhamento.

Dois programas na mesma máquina não podem escutar na mesma porta ao mesmo tempo, o que causa o erro que todo desenvolvedor encontra mais cedo ou mais tarde: endereço já está em uso.

challenge icon

Desafio

Difícil

Prove que a porta escolhe o programa, executando dois servidores em uma máquina.

  1. Crie duas pastas, a e b
  2. Coloque um arquivo i.txt em cada uma: AAA em a, BBB em b
  3. Sirva a na porta 9104 e b na porta 9105
  4. Busque i.txt em cada porta, 9104 primeiro

Mesmo endereço, mesmo nome de arquivo, portas diferentes:

AAA
BBB

(cd a && python3 -m http.server 9104 &) inicia um servidor para uma pasta sem mudar a pasta em que você está.

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Redes com o Terminal

Pratique por conta própria: Playground de Terminal