Na maioria das vezes, é bom dizer algo como "Comprei um domínio" ou "Nossas imagens estão hospedados em um site diferente", mesmo que isso não seja estritamente verdade. No entanto, em alguns contextos, é necessário ser mais preciso. Por exemplo, ao lidar com é preciso entender a diferença entre site e origin.
Os nomes das partes do URL são especificados em um padrão, que também define API:
- O padrão de URL define URLs e recursos para permitir que os engenheiros criem navegadores da Web interoperáveis.
- O componente API URL do padrão define métodos para fornecer acesso a partes de uma string de URL, como o esquema ou origem.
Este documento explica diversos termos usados com strings de URL HTTP ou HTTPS. Ela
não abrange outros tipos de URL, como URLs de arquivos ou dados. Para termos como
host
e origin
, as definições precisas são inerentemente complexas. Portanto, esse
documento fornece exemplos e links para o padrão de URL, em vez
tentando explicações completas.
Você pode usar o JavaScript para obter os nomes dos componentes de URL definidos pelos a API do URL. Exemplo:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
Analisador de URL
Edite o URL abaixo para conferir como as partes da string são nomeadas. Também é possível abrir em uma guia separada em url-parts.glitch.me.
Os nomes das partes de URLs estão listados em ordem alfabética abaixo.
Domínio de nível superior com código de país (ccTLD)
Um domínio de nível superior definido na lista de códigos de país ISO 3166-1.
Nome de domínio
As partes de um URL HTTP ou HTTPS separadas por pontos: tudo após o scheme, mas antes do path ou port (se especificado). Cada parte do nome de domínio é conhecida como um rótulo.
URL | Nome de domínio |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
Domínio de nível superior efetivo (eTLD, na sigla em inglês)
Uma entrada na Lista de sufixos públicos, incluindo: um TLD e, para eTLDs com várias partes, domínios adicionais abaixo: segundo nível, terceiro nível e assim por diante.
- Por exemplo:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Um "sufixo público", como esses exemplos, é um nome sob o qual os domínios podem ser registrados. A Lista de sufixos públicos é uma lista de todos os sufixos públicos conhecidos e é atualizado com frequência. Navegadores, incluindo o Chromium e Firefox usam a lista nos builds.
eTLD+1
Consulte Domínio que pode ser registrado.
Um eTLD mais o subdomínio que o precede.
- Por exemplo:
example.com
,example.org.au
,example.github.io
.example.sa.edu.au
,example.schools.nsw.edu.au
.
Nome do arquivo
Não definido no padrão do URL e não faz parte da API de URL, mas usado com frequência para se referir à parte final, fora do caminho, do URL com base no a suposição (geralmente incorreta) de que o URL mapeia diretamente para um diretório na estrutura dos preços.
Por exemplo, com https://example.com/dir/file.html
, file.html
pode ser chamado de nome do arquivo.
O valor do nome do arquivo também é usado pelos navegadores para nomear um recurso caso ele seja baixado.
Por exemplo, https://example.com/images/image.jpg
normalmente seria salvo
localmente para image.jpg
.
Fragmento
Uma string após um caractere # no final de um URL que fornece um identificador de fragmentos (link em inglês).
- Por exemplo: o URL
https://example.com/cats#tabby
tem um fragmento o valor do identificadortabby
.
A parte que inclui o #
é conhecida como hash ou âncora.
Você também pode destacar um fragmento de texto com um link para ele.
O hash é retornado pela API URL em vez do fragmento.
Nome de domínio totalmente qualificado (FQDN)
Um endereço completo para um site ou servidor, que é mapeado para um endereço IP.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
O FQDN de um URL não inclui a porta, mesmo que um valor não padrão é usada.
Hash (ou âncora)
Uma string após um caractere # no final de um URL que fornece um identificador de fragmentos (na alguns contextos isso é chamado de "âncora".)
A parte que exclui o #
é conhecida como fragmento.
Você também pode destacar um fragmento de texto com um link para ele.
O hash é retornado pela API URL em vez do fragmento.
Host
Conforme definido no padrão de URL, um host pode ser um nome do domínio, endereço IP v4, endereço IPv6, host opaco ou vazio host.
- A definição de
host
do padrão do URL não inclui a porta. URL.host
inclui a porta, a menos que ela seja o padrão do esquema.URL.hostname
não inclui pela porta.
URL | URL.host |
---|---|
https://www.example.com:443/cat |
www.example.com // 443 is the default port for the scheme
|
https://www.example.com:1234/cat | www.example.com:1234 |
https://cat.example.github.io | cat.example.github.io |
Nome do host
O nome do host é definido pela API JavaScript URL
, mas não em outro lugar pelo URL
padrão. Consulte a representação do host para mais detalhes.
URL.hostname
retorna o host sem a porta.
URL | URL.hostname |
---|---|
https://www.example.com:443/cat | www.example.com |
https://www.example.com:1234/cat | www.example.com |
https://cat.example.github.io | cat.example.github.io |
Origem
O padrão de URL define origin
, e
links para o padrão HTML para
plano de fundo.
Para URLs HTTP ou HTTPS, URL.origin
retorna o esquema, o host e a porta, a menos que a porta seja a padrão.
para o esquema).
URL | URL.origin |
---|---|
https://www.example.com:443/cat | https://www.example.com |
https://www.example.com:1234/cat | https://www.example.com:1234 |
https://cat.example.github.io | https://cat.example.github.io |
Parâmetro
Consulte Pesquisar parâmetros
Senha
Consulte nome de usuário.
Nome do caminho
Para um URL HTTP ou HTTPS, a parte após o domínio e a porta (se definido), incluir um filename (se definido), mas sem incluir o string de pesquisa ou hash.
URL | URL.pathname |
---|---|
https://example.com | [empty string] |
https://example.com:8000/search?q=tabby | /search |
https://example.github.io/cat/pattern#tabby | /cat/pattern |
https://example.github.io/README.md | /README.md |
"Caminho" às vezes é usado para se referir ao nome do caminho sem o nome do arquivo. Para
exemplo, para o URL https://example.com/cat/pattern/tabby.html
, o "path"
é /cat/pattern
.
Porta
Número após um :
em um URL que identifica uma porta de rede. Por exemplo: para
o URL https://example.com:1234/tabby
o número da porta é 1234.
O número da porta precisa ser um número inteiro não assinado de 16 bits, ou seja, um número inteiro entre 0 e 65.535, inclusive.
Para um URL HTTP, a porta padrão é 80. para HTTPS, o padrão é 443. Um URL não precisa especificar o número da porta, a menos que uma porta não padrão seja usada.
A API vai retornar uma string vazia se a porta for o padrão do esquema.
URL | URL.port |
---|---|
https://example.com | // empty string |
https://example.com:443/foo | // empty string: port is default for scheme |
https://www.example.com:1234/foo | 1234 |
Protocolo
O esquema seguido por :
(por exemplo, http:
ou https:
).
protocol
está disponível na API URL, mas scheme
não está.
Consulta (ou "string de consulta")
A parte de pesquisa do URL, excluindo o ?
inicial.
Domínio do registro
- Para um URL com um eTLD de parte única, como
com
ouorg
(ou seja, um eTLD que corresponda a um TLD), o domínio e o domínio de segundo nível antes dele: por exemplo,example.com
ouexample.org
- Para um URL com um eTLD de duas partes em que apenas o registro de terceiro nível é
permitido (ou seja, entradas na lista de sufixos públicos, como
com.au
egithub.io
) o domínio de nível superior de duas partes ("sufixo público") e o nome de domínio de terceiro nível antes disso. Por exemplo,example.org.au
ouexample.github.io
. - Para eTLDs com três ou mais partes, o eTLD e o domínio antes disso.
Esquema
A parte do URL (antes de ://
) que define o protocolo de rede (ou ação a ser realizada)
pelo user agent) quando uma solicitação é feita a um URL. Por exemplo, uma solicitação
O URL com um esquema https
precisa ser criado usando o protocolo HTTPS. Para uma solicitação para um URL com um esquema
como file
, mailto
ou git
, que não corresponde a uma rede
o comportamento depende do user agent. Por exemplo, quando um usuário clica
em um link do mailto
, a maioria dos navegadores abre o aplicativo de e-mail padrão, usando
os valores no URL href
do link.
Pesquisar
Um ponto de interrogação seguido por uma série de pares de chave-valor que representam parameters e seus valores, que serão fornecidos após o pathname.
URL | URL.search |
---|---|
https://example.com/cats?pattern=tabby&mood=bonkers | ?pattern=tabby&mood=bonkers |
https://example.com/cats:443?pattern=tabby | ?pattern=tabby |
A query
ou "string de consulta" se refere ao search
sem o
?
na frente.
Consulte também Pesquisar parâmetros.
Pesquisar parâmetros
Refere-se a um item de dados transmitido em uma string de pesquisa. (ou "string de consulta").
- Por exemplo: para
https://example.com/cats?pattern=tabby&mood=bonkers
, o a string de pesquisa tem dois parâmetros:pattern=tabby
emood=bonkers
.
Domínio de segundo nível
O domínio antes de um domínio de nível superior.
Para o URL
https://www.example.com
, o domínio de segundo nível éexample.com
, um subdomínio do domínio de nível superiorcom
.Para
https://example.org.au
, o domínio de nível superior éau
, o segundo nível O domínio éorg
e o domínio de terceiro nível éexample
. Neste exemplo,org.au
é um subdomínio deau
eexample.org.au
é um subdomínio deorg.au
:
Site
Site é definido pela padrão HTML e mesmo site, que inclui esquema, e mesmo site sem esquemas.
O site não está definido no URL padrão ou na API JavaScript URL.
Nesse contexto:
- Para um URL HTTP ou HTTPS com um eTLD de parte única, como
https://example.com
, o site consiste noscheme
, no eTLD e no rótulo antes isso. Por exemplo: para o URLhttps://www.example.com/cat
, o site éhttps://example.com
. (Para este URL, o eTLD é o mesmo que o domínio de nível superior. - Para eTLD de várias partes, como
co.uk
,github.io
ousa.edu.au
, o "site" consiste noscheme
, o eTLD e o rótulo antes dele. Por exemplo: para o URLhttps://cat.example.co.uk/tabby
, o site éhttps://example.co.uk
, e parahttps://www.education.sa.gov.au
o site éhttps://education.sa.gov.au
.
URL | Site (com esquema e eTLD +1) |
---|---|
https://cat.example.com/tabby | ("https", "exemplo.com") |
https://cat.example.co.uk/tabby | ("https", "exemplo.com.br") |
Ao contrário de origin, o site não inclui port.
Subdomínio
Um domínio em um domínio de nível superior.
Para sites com domínios de nível superior de parte única, como com
ou org
, as partes
antes do domínio de nível superior, cada um deles separado por um ponto.
www.example.com
é um subdomínio deexample.com
.support.api.example.org
é um subdomínio deapi.example.org
, que é um subdomínio deexample.org
.
Para eTLDs de duas partes, em que apenas registros de terceiro nível são permitidos(ou seja, entradas
na lista de sufixos públicos, como co.uk
e
github.io
), os subdomínios são as partes do nome de domínio antes disso.
- Por exemplo:
cat.example.co.uk
é um subdomínio deexample.co.uk
.
Fragmento de texto
Um tipo de fragmento que possibilita vincular e destacar um intervalo de texto em uma página. Quando um usuário segue um link com um fragmento de texto, o navegador tenta localizar, rolar e destacar o texto da página.
Um fragmento de texto começa com :~:text=
, seguido pelo termo de pesquisa.
Por exemplo, para vincular à primeira ocorrência do texto "fragmento"
nesta página, use o URL https://web.dev/articles/url-parts#:~:text=fragment
.
Saiba mais: Fragmentos de texto.
Domínio de nível superior (TLD)
Um nome de domínio listado no banco de dados da zona raiz, como com
ou org
. Alguns domínios de nível superior são
domínios de nível superior com código de país, como uk
e tv
.
Ao descrever as partes de um URL HTTP ou HTTPS, o TLD é o nome de domínio que segue o ponto final.
- Em
https://example.org
, o domínio de nível superior do URL éorg
. - Em
https://example.org.au
, o domínio de nível mais alto do URL éau
eorg
é um domínio de segundo nível (emboraorg
também seja um domínio de nível superior domínio).org.au
é um eTLD de duas partes.
A lista de sufixos públicos de eTLD (links em inglês) inclui domínios com uma, duas ou mais partes, de modo que um TLD também pode ser um eTLD. Exemplo:
- Para
https://example.com
, o eTLD do URL écom
, que também é um TLD.
Nome de usuário
Um nome de usuário e uma senha opcionais podem ser fornecidos no início do URL, mas ele foi descontinuado por motivos de segurança e serão ignorados em muitos casos.
Por exemplo, com https://user123:password1@example.com
, o nome de usuário é
user123
. Observe que o nome de usuário (e a senha) está em texto simples e não criptografado.
Se o nome de usuário tiver símbolos :
ou @
, eles precisarão ser codificados em URL para %3A
e %40
, respectivamente.
Saiba mais
- WhatWG: URL Living Standard (link em inglês)
- WhatWG: HTML Living Standard (link em inglês)
- API URL
- Noções básicas sobre "mesmo site" e "mesma origem"
- RFC: localizadores uniformes de recursos (URL, na sigla em inglês)
- RFC: URIs, URLs e URNs
- Root Zone Database (diretório de TLDs)
- Lista de sufixos públicos (diretório de eTLDs: "um sufixo público é um conjunto de nomes DNS ou caracteres curinga concatenados com pontos. Ele representa a parte de um nome de domínio que não está sob a controle individual do responsável pelo registro").
- Glossário da ICANN
- O que é um nome de domínio totalmente qualificado?
- De quantas maneiras é possível dividir um URL e nomear as partes?
- Glossário de documentos da Web MDN
- O que é um URL?
- O histórico do URL