La maggior parte delle volte è accettabile dire frasi del tipo "Ho acquistato un dominio" o "Le nostre immagini sono ospitati su un altro sito", anche se non è assolutamente vero. Tuttavia, alcuni contesti è necessario essere più precisi. Ad esempio, quando devi gestire cookie, devi capire la differenza tra site e origin.
I nomi delle parti dell'URL vengono specificati in uno standard, che definisce anche un codice JavaScript API:
- Lo standard per gli URL definisce gli URL e i relativi per consentire agli ingegneri di creare browser web interoperabili.
- Il componente API URL dello standard definisce metodi per fornire l'accesso a parti di una stringa URL, come schema o origin.
Questo documento illustra una serie di termini utilizzati con le stringhe URL HTTP o HTTPS. it
non copre altri tipi di URL, come gli URL di file o dati. Per termini come
host
e origin
, le definizioni accurate sono di per sé complesse, pertanto questo
documento fornisce esempi e link allo standard URL, anziché
cercando spiegazioni esaustive.
Puoi utilizzare JavaScript per ottenere i nomi dei componenti dell'URL definiti l'API URL. Ad esempio:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
Strumento di analisi degli URL
Modifica l'URL di seguito per vedere i nomi delle parti della stringa URL. Puoi anche aprire il file in una scheda separata all'indirizzo url-parts.glitch.me.
I nomi delle parti dell'URL sono elencati in ordine alfabetico di seguito.
Dominio di primo livello nazionale (ccTLD)
Un dominio di primo livello definito nell'elenco dei codici paese ISO 3166-1.
Nome di dominio
Le parti di un URL HTTP o HTTPS separate da punti: tutto ciò che segue il schema, ma prima del path o della porta (se specificato). Ogni parte del nome di dominio è detta etichetta.
URL | Nome di dominio |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
Dominio di primo livello effettivo (eTLD)
Una voce nell'elenco dei suffissi pubblici, che include un TLD e(per gli eTLD con più parti) domini aggiuntivi di seguito che: di secondo livello, di terzo livello e così via.
- Ad esempio:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Un "suffisso pubblico", come questi esempi, è un nome con cui i domini possono essere registrato. L'elenco dei suffissi pubblici è un elenco di tutti i suffissi pubblici noti e vengono aggiornate di frequente. Browser tra cui Chromium e Firefox usano l'elenco nelle loro build.
eTLD+1
Vedi dominio registrabile.
Un eTLD più il sottodominio che lo precede.
- Ad esempio:
example.com
,example.org.au
,example.github.io
,example.sa.edu.au
example.schools.nsw.edu.au
.
Nome file
Non definita nello standard dell'URL e non fa parte dell'API dell'URL, ma di uso comune per fare riferimento alla parte finale dell'URL, non-path, in base il presupposto (spesso errata) che l'URL sia mappato direttamente a una directory alla struttura del centro di costo.
Ad esempio, con https://example.com/dir/file.html
, file.html
potrebbe essere indicato come nome file.
Il valore filename viene utilizzato anche dai browser per assegnare un nome a un asset scaricato.
Ad esempio, in genere https://example.com/images/image.jpg
viene salvato
a livello locale in image.jpg
.
Fragment
Una stringa che segue un carattere # alla fine di un URL che fornisce un identificatore di frammento.
- Ad esempio: l'URL
https://example.com/cats#tabby
ha un frammento valore dell'identificatoretabby
.
La parte che include #
è nota come hash o ancoraggio.
Puoi anche inserire un link a un frammento di testo ed evidenziarlo.
L'hash viene restituito dall'API dell'URL anziché dal frammento.
Nome di dominio completo (FQDN)
L'indirizzo completo di un sito web o di un server, mappato a un indirizzo IP.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
Il nome di dominio completo di un URL non include la porta, anche se non è predefinito .
Hash (o ancoraggio)
Una stringa che segue un carattere # alla fine di un URL che fornisce un Identificatore di frammento.(In alcuni contesti Questo è chiamato "ancoraggio".)
La parte che esclude #
è nota come frammento.
Puoi anche inserire un link a un frammento di testo ed evidenziarlo.
L'hash viene restituito dall'API dell'URL anziché dal frammento.
Host
Come definito nello standard degli URL, un host può essere un nome di dominio, indirizzo IP v4, indirizzo IPv6, host opaco o vuoto .
- La definizione dello standard dell'URL di
host
non include la porta. URL.host
include la porta, a meno che questa non sia quella predefinita per lo schema.URL.hostname
non include dalla 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 host
Il nome host è definito dall'API JavaScript URL
, ma non altrove dall'URL
standard. Per ulteriori dettagli, consulta la sezione sulla rappresentazione dell'host.
URL.hostname
restituisce l'host senza la 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 |
Origine
Lo standard URL definisce origin
e
rimanda allo standard HTML per
sfondo.
Per gli URL HTTP o HTTPS, URL.origin
restituisce lo schema, l'host e la porta (a meno che la porta non sia quella predefinita
per lo schema).
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 |
Parametro
Vedi Parametri di ricerca
Password
Vedi nome utente.
Percorso
Per un URL HTTP o HTTPS, la parte che segue il dominio e la porta (se definita), Includere un filename (se definito), ma escluso il valore stringa di ricerca o 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 |
"Percorso" a volte viene utilizzato per fare riferimento al percorso senza il nome file. Per
Ad esempio, per l'URL https://example.com/cat/pattern/tabby.html
, il "percorso"
è /cat/pattern
.
Porta
Il numero dopo :
in un URL che identifica una porta di rete. Ad esempio: per
l'URL https://example.com:1234/tabby
il numero di porta è 1234.
Il numero di porta deve essere un numero intero senza segno a 16 bit, ovvero un numero intero tra 0 e 65535 inclusi.
Per un URL HTTP, la porta predefinita è 80; per HTTPS, il valore predefinito è 443. Un URL non deve specificare il numero di porta, a meno che non venga utilizzata una porta non predefinita.
L'API restituisce una stringa vuota se la porta è il valore predefinito per lo schema.
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 |
Protocollo
Lo schema seguito da :
(ad esempio http:
o https:
).
protocol
è disponibile dall'API URL, mentre scheme
non lo è.
Query (o "stringa di query")
La parte dell'URL relativa alla ricerca, esclusi i ?
iniziali.
Dominio registrabile
- Per un URL con un eTLD composto da una sola parte, come
com
oorg
(ad es. eTLD che corrisponde a un TLD), il dominio e dominio di secondo livello prima di questo, ad esempioexample.com
oexample.org
. - Per un URL con un eTLD diviso in cui è consentita solo la registrazione di terzo livello
consentite (ovvero voci nell'elenco dei suffissi pubblici, come
com.au
egithub.io
) dominio di primo livello a due parti ("suffisso pubblico") e nome di dominio di terzo livello poco prima. Ad esempio:example.org.au
oexample.github.io
. - Per i domini di primo livello nazionali con tre o più parti, l'eTLD e il dominio precedente.
Scheme
La parte dell'URL (prima di ://
) che definisce il protocollo di rete (o l'azione da intraprendere)
dallo user agent) quando viene effettuata una richiesta a un URL. Ad esempio, una richiesta a un
L'URL con schema https
deve essere creato utilizzando il protocollo HTTPS. Per una richiesta a un URL con uno schema
ad esempio file
, mailto
o git
che non corrisponde a una rete
il comportamento dipende dallo user agent. Ad esempio, quando un utente fa clic
su un link mailto
, la maggior parte dei browser apre l'applicazione email predefinita, utilizzando
i valori nell'URL href
del link.
Cerca
Un punto interrogativo seguito da una serie di coppie chiave-valore che rappresentano parameters e i relativi valori, forniti dopo il 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 |
query
o la "stringa di query" si riferisce a search
senza
in testa per ?
.
Vedi anche Parametri di ricerca.
Cerca parametri
Fai riferimento a un dato passato in una stringa di ricerca (o "stringa di query").
- Ad esempio: per
https://example.com/cats?pattern=tabby&mood=bonkers
, il valore la stringa di ricerca ha due parametri:pattern=tabby
emood=bonkers
.
Dominio di secondo livello
Il dominio prima di un dominio di primo livello.
Per l'URL
https://www.example.com
, il dominio di secondo livello èexample.com
, un sottodominio del dominio di primo livellocom
.Per
https://example.org.au
, il dominio di primo livello èau
, il dominio di secondo livello il dominio di terzo livello èorg
, mentre il dominio di terzo livello èexample
. In questo esempio,org.au
è un sottodominio diau
, mentreexample.org.au
è un sottodominio diorg.au
.
Sito
Sito viene definito da lo standard HTML, insieme a same-site, che include lo schema e senza schema sullo stesso sito.
Il sito non è definito nello standard URL o nell'API JavaScript URL.
In questo contesto:
- Per un URL HTTP o HTTPS con un eTLD unico come
https://example.com
, il sito è costituito dalscheme
, dall'eTLD e dal etichetta prima quello. Ad esempio, per l'URLhttps://www.example.com/cat
, il sito èhttps://example.com
. Per questo URL, l'eTLD è uguale al dominio di primo livello. - Per eTLD multiparte come
co.uk
,github.io
osa.edu.au
, il "sito" è composto dascheme
, eTLD e etichetta precedente. Ad esempio, per l'URLhttps://cat.example.co.uk/tabby
, il sito èhttps://example.co.uk
e perhttps://www.education.sa.gov.au
il sito èhttps://education.sa.gov.au
.
URL | Sito (con schema e eTLD +1) |
---|---|
https://cat.example.com/tabby | ("https", "example.com") |
https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
A differenza di origin, il sito non include port.
Sottodominio
Un dominio all'interno di un dominio di livello superiore.
Per i siti con domini di primo livello a parte singola come com
o org
, le parti
prima del dominio di primo livello, ognuno dei quali è separato da un punto.
www.example.com
è un sottodominio diexample.com
.support.api.example.org
è un sottodominio diapi.example.org
, che è un sottodominio diexample.org
.
Per gli eTLD suddivisi in cui sono consentite solo registrazioni di terzo livello(ovvero voci
nell'elenco dei suffissi pubblici, come co.uk
e
github.io
), i sottodomini sono le parti del nome di dominio che precede il nome.
- Ad esempio:
cat.example.co.uk
è un sottodominio diexample.co.uk
.
Frammento di testo
Un tipo di frammento che consente di collegare ed evidenziare un intervallo di testo all'interno di una pagina. Quando un utente segue un link con un frammento di testo, il browser tenta di individuare, scorrere ed evidenziare il testo all'interno della pagina.
Un frammento di testo inizia con :~:text=
seguito dal termine di ricerca.
Ad esempio, per creare un link alla prima occorrenza del testo "frammento"
in questa pagina, utilizza l'URL https://web.dev/articles/url-parts#:~:text=fragment
.
Scopri di più: Frammenti di testo.
Dominio di primo livello (TLD)
Un nome di dominio elencato nel database della zona radice, ad esempio com
o org
. Alcuni domini di primo livello
domini di primo livello per i codici paese, come uk
e tv
.
Quando si descrivono le parti di un URL HTTP o HTTPS, il dominio di primo livello è il nome di dominio che segue il punto finale.
- Per
https://example.org
, il dominio di primo livello dell'URL èorg
. - Per
https://example.org.au
, il dominio di primo livello dell'URL èau
eorg
è un dominio di secondo livello (sebbeneorg
sia anche un dominio di primo livello dominio).org.au
è un eTLD diviso in due parti.
L'elenco dei suffissi pubblici degli eTLD include domini con una, due o più parti, quindi un dominio di primo livello può essere anche un eTLD. Ad esempio:
- Per
https://example.com
, il dominio di primo livello dell'URL ècom
, che è anche un dominio di primo livello.
Nome utente
Puoi specificare un nome utente e una password facoltativi all'inizio dell'URL, ma è stato ritirato per motivi di sicurezza e in molti casi verrà ignorato.
Ad esempio, con https://user123:password1@example.com
il nome utente è
user123
. Tieni presente che il nome utente (e la password) sono in testo normale e non sono crittografati.
Se il nome utente contiene i simboli :
o @
, deve avere un URL codificato come %3A
e %40
rispettivamente.
Scopri di più
- WHATWG: URL Living Standard
- WHATWG: standard HTML Living
- API URL
- Informazioni sulla funzione "stesso sito" e "same-origin"
- RFC: URL (Uniform Resource Locator)
- RFC: URI, URL e URN
- Database zona radice (directory di TLD)
- Elenco dei suffissi pubblici (directory di eTLDs: "Un suffisso pubblico è un insieme di nomi DNS o caratteri jolly concatenati con i punti. Rappresenta la parte di un nome di dominio che non si trova sotto la controllo specifico del singolo registrante").
- Glossario ICANN
- Che cos'è un nome di dominio completo?
- In quanti modi puoi suddividere un URL e assegnare un nome ai pezzi?
- Glossario dei documenti web sulla MDN
- Che cos'è un URL?
- La storia dell'URL