Aula de Informática (Fundamentos de Informática): Estrutura de URLs. Composição de uma URL e os principais protocolos como HTTP e HTTPS. Estude gratuitamente para concursos públicos e OAB no Tuco-Tuco.
Estrutura de URLs
Definição e Importância da URL
A URL (Uniform Resource Locator) é o endereço único utilizado para localizar e acessar recursos na internet, como páginas HTML, imagens, vídeos, documentos PDF, arquivos de áudio, entre outros. Cada URL identifica de forma inequívoca um recurso e especifica o mecanismo (protocolo) para obtê-lo. Sem as URLs, a navegação na web seria inviável, pois não haveria um sistema padronizado para referenciar e localizar informações nos servidores espalhados pelo mundo.
O conceito de URL foi criado por Tim Berners-Lee em 1994 e é parte fundamental da arquitetura da World Wide Web. Em provas de concursos e vestibulares, é comum que se peça a identificação das partes que compõem uma URL, bem como o entendimento dos protocolos e da hierarquia de domínios.
Estrutura Geral de uma URL
Uma URL completa segue o formato: protocolo://domínio:porta/caminho/recurso?parâmetro1=valor1&parâmetro2=valor2#âncora
Exemplo concreto: https://www.exemplo.com.br:443/blog/artigos?id=123&ordenar=data#comentarios
Cada componente será detalhado a seguir.
Componentes da URL
3.1. Esquema ou Protocolo
Indica qual protocolo de comunicação o navegador (ou outro cliente) deve utilizar para acessar o recurso. É seguido por . Os protocolos mais comuns são:
http: Hypertext Transfer Protocol. Transmissão em texto plano, sem criptografia. Porta padrão 80.
https: HTTP seguro, com criptografia TLS/SSL. Porta padrão 443. É obrigatório para sites que manipulam dados sensíveis (senhas, informações bancárias, dados pessoais).
ftp: File Transfer Protocol. Utilizado para transferência de arquivos. Portas 20 e 21.
file: Acessa arquivos locais do sistema (não é da web).
mailto: Abre o cliente de e-mail com endereço preenchido.
tel: Inicia chamada telefônica (em dispositivos móveis).
ws / wss: WebSocket (com ou sem criptografia), para comunicação bidirecional em tempo real.
Exemplo: Em , o esquema é .
3.2. Domínio (ou Hostname)
Identifica o servidor que hospeda o recurso. Pode ser um nome de domínio (ex.: ) ou um endereço IP (ex.: ). O nome de domínio é hierárquico e mais fácil de memorizar do que números IP.
3.2.1. Hierarquia do Domínio
Domínio raiz (root): Representado por um ponto final () implícito.
TLD (Top-Level Domain): Última parte do domínio. Ex.: , , , , . Subdivide-se em:
- TLDs genéricos (gTLD): , , , , , , , etc.
- TLDs patrocinados (sTLD): , , , .
- TLDs de código de país (ccTLD): (Brasil), (Estados Unidos), (Japão), (Reino Unido).
Domínio de segundo nível: Parte imediatamente anterior ao TLD. Ex.: em .
Subdomínios: Partes adicionais à esquerda. Ex.: , , , . O é um subdomínio tradicional, mas não obrigatório.
Exemplo no domínio :
TLD:
Segundo nível: (o domínio é na verdade um segundo nível dentro do ; nesse caso, a hierarquia é: (ccTLD), (domínio de segundo nível), (terceiro nível), (quarto nível – subdomínio).
3.3. Porta
A porta é um número que identifica qual serviço específico no servidor deve receber a requisição. Se omitida, o navegador usa a porta padrão do protocolo (80 para HTTP, 443 para HTTPS). A porta é opcional e vem após dois-pontos () logo após o domínio.
Exemplo: – a porta 8080 é comumente usada em desenvolvimento local. Em produção, quase nunca se especifica a porta, pois os servidores web usam as portas padrão.
3.4. Caminho (Path)
O caminho especifica a localização do recurso dentro da estrutura de diretórios do servidor. É análogo a um caminho de arquivo em um sistema operacional, mas não necessariamente corresponde a arquivos físicos (pode ser roteado por frameworks web). As partes são separadas por barras ().
Exemplos:
– arquivo HTML na raiz.
– caminho aninhado.
– caminho para uma API (pode não refletir diretórios reais).
O caminho diferencia maiúsculas de minúsculas? Depende do servidor. Em servidores Unix/Linux, o sistema de arquivos diferencia maiúsculas; em servidores Windows (menos comuns para produção), não diferencia. Por segurança, assume-se que o caminho é case-sensitive.
3.5. Parâmetros de Consulta (Query String)
Os parâmetros de consulta são pares adicionados após o caractere . Múltiplos parâmetros são separados por . Servem para enviar dados adicionais ao servidor, geralmente para filtros, ordenação, paginação, identificação de conteúdo dinâmico, etc.
Exemplo:
(query): (o sinal representa espaço, ou pode ser )
:
:
Os parâmetros devem ser codificados em percent-encoding (URL encoding) quando contêm caracteres especiais (espaços, , , , etc.). Por exemplo, espaço vira ou ; vira .
3.6. Âncora (Fragmento)
A âncora, precedida por , identifica uma seção específica dentro do recurso HTML (geralmente um elemento com ou ). O fragmento é processado apenas pelo navegador e não é enviado ao servidor. Ele serve para posicionar a página em um local específico (ex.: leva até o elemento com ).
Exemplo: – a âncora leva o navegador diretamente para a seção sobre estrutura da URL no artigo.
Exemplos Práticos de URLs e seus Componentes
| URL | Protocolo | Domínio | Porta | Caminho | Query | Âncora |
|-----|-----------|---------|-------|---------|-------|--------|
| | https | www.gov.br | (443) | /pt-br | (nenhum) | (nenhum) |
| | http | localhost | 3000 | /api/users | (nenhum) | (nenhum) |
| | ftp | ftp.ibge.gov.br | (21) | /documentos/relatorio.pdf | (nenhum) | (nenhum) |
| | https | www.exemplo.com | (443) | /search | q=redes+de+computadores&page=3 | (nenhum) |
| | https | docs.python.org | (443) | /3/library/functions.html | (nenhum) | #abs |
Caracteres Especiais e Codificação Percentual (URL Encoding)
Para que uma URL seja válida, certos caracteres devem ser codificados, pois têm significado especial na sintaxe da URL (reservados). A codificação substitui o caractere por seguido de dois dígitos hexadecimais correspondentes ao seu código ASCII (ou UTF-8).
| Caractere | Significado | Codificação |
|-----------|-------------|--------------|
| espaço | separador | ou (apenas em query string) |
| | início da âncora | |
| | início da query string | |
| | separador de parâmetros | |
| | atribuição em parâmetro | |
| | separador de caminho | |
| | início de codificação | |
Exemplo: O valor em um parâmetro deve ser codificado como .
URLs Absolutas e Relativas
URL absoluta: Contém o protocolo e o domínio completos. Ex.: .
URL relativa: Não contém protocolo nem domínio; é interpretada em relação à URL da página atual. Ex.: (mesmo diretório), (diretório pai).
As URLs relativas são amplamente usadas em HTML para referenciar recursos internos ao mesmo site, pois facilitam a manutenção (se o domínio mudar, os links relativos continuam funcionando).
Normalização de URLs
Diferentes URLs podem apontar para o mesmo recurso. A normalização é o processo de padronizá-las para uma forma canônica. Exemplos de variações que devem ser normalizadas:
Remover a porta padrão: →
Converter o esquema para minúsculo: →
Remover o ou adicionar (dependendo da configuração do site).
Remover o caminho vazio: →
Remover a âncora (não afeta o recurso).
Ordenar parâmetros de query (alguns sistemas normalizam).
Motores de busca utilizam normalização para evitar conteúdo duplicado.
URL vs. URI vs. URN
É importante distinguir os conceitos:
URI (Uniform Resource Identifier): Identificador genérico de um recurso. Pode ser uma URL ou uma URN.
URL (Uniform Resource Locator): Identifica o recurso pela sua localização (endereço). É um tipo de URI.
URN (Uniform Resource Name): Identifica o recurso por um nome único e persistente, independentemente de sua localização. Exemplo: (identifica um livro pelo ISBN).
Na prática, a maioria das URIs usadas na web são URLs.
Segurança e URLs
9.1. HTTPS e Certificados
A presença de e do ícone de cadeado indica que a comunicação está criptografada. O certificado digital do servidor deve ser emitido por uma Autoridade Certificadora confiável. O usuário deve verificar o nome do domínio no certificado para evitar phishing.
9.2. Phishing e URLs Falsas
Golpistas criam URLs muito semelhantes a sites legítimos, trocando letras (ex.: em vez de ) ou usando subdomínios enganosos (ex.: ). Técnicas de defesa:
Verificar sempre a barra de endereços.
Desconfiar de URLs encurtadas (ex.: ) antes de clicar.
Não inserir dados sensíveis se o cadeado estiver ausente ou se o certificado for inválido.
9.3. Parâmetros Sensíveis na Query String
Parâmetros de query são transmitidos em texto plano (mesmo em HTTPS, ficam criptografados no tráfego, mas aparecem nos logs do servidor, no histórico do navegador, e no cabeçalho ). Portanto, nunca se deve enviar senhas, tokens de sessão ou dados pessoais identificáveis na query string. Utilizar o método HTTP POST para dados sensíveis.
URLs e SEO (Search Engine Optimization)
Para otimização em mecanismos de busca, recomenda-se:
URLs curtas, descritivas e legíveis por humanos.
Uso de palavras-chave no caminho (ex.: ).
Evitar parâmetros excessivos (prefira caminhos canônicos).
Utilizar hífens () para separar palavras (não underscores ).
Manter letras minúsculas (evitar maiúsculas, pois podem causar duplicação em servidores case-sensitive).
Implementar redirecionamento 301 de URLs não canônicas para as canônicas.
Codificação de Caracteres Não-ASCII
URLs tradicionais suportavam apenas caracteres ASCII. Para usar caracteres acentuados, emojis ou caracteres de outros alfabetos, aplica-se a codificação UTF-8 seguida de percent-encoding. Exemplo:
Caractere ''ç'' (Unicode U+00E7) em UTF-8: → codificação .
URL com ''coração'': .
Navegadores modernos exibem os caracteres decodificados na barra de endereços para legibilidade, mas transmitem a versão codificada.
Quadro Comparativo: HTTP vs. HTTPS
| Característica | HTTP | HTTPS |
|----------------|------|-------|
| Criptografia | Nenhuma (texto plano) | Sim (TLS/SSL) |
| Porta padrão | 80 | 443 |
| Segurança | Vulnerável a interceptação | Protege contra man-in-the-middle |
| Certificado digital | Não requer | Requer certificado CA |
| Impacto no desempenho | Menor overhead | Overhead do handshake TLS (pode ser reduzido com HTTP/2 ou HTTP/3) |
| Obrigatoriedade | Apenas sites não sensíveis (ex.: sites públicos de notícias antigos) | Obrigatório para login, pagamentos, dados pessoais |
Quadro Comparativo: Tipos de URI
| Tipo | Finalidade | Exemplo |
|------|------------|---------|
| URL | Localizar recurso (endereço) | |
| URN | Nomear recurso persistentemente | |
| Data URI | Incorporar pequenos recursos diretamente (imagens, CSS) | |
Considerações Finais
A compreensão detalhada da estrutura de URLs é fundamental para navegação web, desenvolvimento de sistemas, segurança da informação e otimização para mecanismos de busca. Para concursos e vestibulares, o candidato deve ser capaz de identificar cada parte de uma URL (protocolo, domínio, porta, caminho, parâmetros, âncora), entender a diferença entre HTTP e HTTPS, conhecer a hierarquia de domínios e saber aplicar a codificação percentual. Estude exemplos reais, pratique a decomposição de URLs e esteja atento às questões que envolvem segurança e phishing.
Exercícios:
Com base nos exemplos de portas apresentados na aula, analise as opções abaixo e assinale a alternativa que apresenta CORRETAMENTE a porta padrão utilizada pelo protocolo HTTPS.
Considere a URL: https://www.exemplo.com/pagina.html#secao2. Sobre a função da âncora (ou fragmento) nesta URL, assinale a alternativa CORRETA:
Complete a frase: Em uma URL completa, a seção que identifica uma localização específica dentro de um documento HTML e que, por regra técnica, não é enviada ao servidor web durante a requisição, é denominada _____.
Complete a frase: Ao acessar um recurso web que exige criptografia para proteção de dados sensíveis, utiliza-se o protocolo HTTPS, que por padrão opera na porta de comunicação numérica _____.
Complete a frase: Na hierarquia de nomes de domínio da URL "blog.saude.gov.br", a parte final ".br" é classificada tecnicamente como um _____, indicando a jurisdição geográfica do recurso.
Complete a frase: Para incluir caracteres especiais ou espaços em uma URL, utiliza-se o processo de codificação percentual (URL Encoding); nesse sistema, o caractere de espaço é comumente representado pela sequência _____.
Complete a frase: A URL diferencia-se do conceito de URN (Uniform Resource Name) pois, enquanto a primeira aponta para a localização física ou lógica de um recurso, a segunda identifica o recurso por um _____.
Complete a frase: Em uma estrutura de URL, os parâmetros de consulta (Query String) são iniciados pelo caractere de interrogação e os múltiplos pares de chave e valor são separados entre si pelo caractere _____.
Complete a frase: Uma URL classificada como _____ é aquela que não contém o protocolo nem o nome do domínio, sendo interpretada pelo navegador em relação ao endereço da página em que o link está inserido.
Complete a frase: O processo técnico de padronizar diferentes URLs que apontam para o mesmo recurso, removendo portas padrão ou convertendo caracteres para minúsculas, é conhecido como _____.
Complete a frase: No contexto de segurança, a prática de criar URLs visualmente idênticas a endereços legítimos para induzir o usuário ao erro e roubar credenciais é denominada _____.
Complete a frase: O esquema ou protocolo da URL "ftp://ftp.ibge.gov.br" indica que o navegador deve utilizar o mecanismo de transferência de _____ para acessar o recurso solicitado.
De acordo com a aula, marque a alternativa CORRETA sobre a sensibilidade a maiúsculas e minúsculas em diferentes partes de uma URL:
Considere a seguinte URL: https://blog.exemplo.com:8080/artigo/topico.html?busca=internet#referencia. Qual das alternativas abaixo representa corretamente o CAMINHO presente nessa URL?