Lição 1

Componentes de uma URL

Separe URLs em esquema, host, porta, caminho, query e fragmento.

Uma URL é um endereço estruturado, não apenas uma string. Depurar fica mais fácil quando você separa os componentes antes de interpretá-la.

https://api.example.com:8443/v1/items?q=blue&page=2#results

Essa URL contém:

  • Esquema: https
  • Host: api.example.com
  • Porta: 8443
  • Caminho: /v1/items
  • Query: q=blue&page=2
  • Fragmento: results

Esquema

O esquema informa ao cliente como interpretar o restante da URL. https, http, mailto e file têm regras diferentes.

Host e porta

O host identifica o servidor. A porta seleciona a porta de rede. Portas padrão como 443 em HTTPS normalmente são omitidas na visualização, mas portas explícitas importam em desenvolvimento local e depuração de serviços.

Caminho

O caminho identifica um recurso dentro do host. Ele é hierárquico, então /users/42 e /users/42/ podem ser diferentes dependendo do servidor.

Query

A query começa depois de ? e costuma carregar filtros, paginação, ordenação, campos de tracking e estado OAuth. Parsing de query nem sempre segue uma regra única, porque chaves repetidas e valores vazios podem ser interpretados de formas diferentes.

Fragmento

O fragmento começa depois de #. Navegadores usam esse valor no cliente e normalmente não o enviam ao servidor em requisições HTTP. Isso importa ao depurar por que o servidor não vê parte de um link.

Trate cada componente como uma fronteira. A maioria dos bugs de URL vem de codificar ou reconstruir no limite errado.

Voltar à visão geral do curso