Quali sono le parti di un URL?

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.

  • Per https://example.org.au, il ccTLD è au.
  • Per https://example.io, il ccTLD è io.

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'identificatore tabby.
di Gemini Advanced.

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 o org (ad es. eTLD che corrisponde a un TLD), il dominio e dominio di secondo livello prima di questo, ad esempio example.com o example.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 e github.io) dominio di primo livello a due parti ("suffisso pubblico") e nome di dominio di terzo livello poco prima. Ad esempio: example.org.au o example.github.io.
  • Per i domini di primo livello nazionali con tre o più parti, l'eTLD e il dominio precedente.
di Gemini Advanced.

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.

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 e mood=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 livello com.

  • 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 di au, mentre example.org.au è un sottodominio di org.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 dal scheme, dall'eTLD e dal etichetta prima quello. Ad esempio, per l'URL https://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 o sa.edu.au, il "sito" è composto da scheme, eTLD e etichetta precedente. Ad esempio, per l'URL https://cat.example.co.uk/tabby, il sito è https://example.co.uk e per https://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 di example.com.
  • support.api.example.org è un sottodominio di api.example.org, che è un sottodominio di example.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 di example.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 e org è un dominio di secondo livello (sebbene org 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ù