I componenti di un URL

Un URL (Uniform Resource Locator) è un tipo specifico di URI (Universal Resource Identifier). Un URL individua normalmente una risorsa esistente su Internet. L'URL viene utilizzato quando un client Web effettua una richiesta a un server, in relazione a una risorsa.

Questo argomento è un riepilogo degli URL e degli URI. Se è necessario saperne di più, i concetti di URI e URL sono definiti da Internet Society e IETF (Internet Engineering Task Force) Request for Comments document RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax (https://www.ietf.org/rfc/rfc2396.txt).

In breve, un URI viene definito come qualsiasi stringa di caratteri che identifica una risorsa. Un URL è definito come quegli URI che identificano una risorsa in base alla sua ubicazione o ai mezzi utilizzati per accedervi, piuttosto che in base a un nome o a un altro attributo della risorsa.

Una nuova forma di identificativo risorsa, l'IRI (Internationalized Resource Identifier), consente l'uso di caratteri e formati adatti per lingue nazionali diverse dall'inglese. Un IRI può essere utilizzato al posto di un URI o di un URL quando le applicazioni coinvolte con la richiesta e la risposta supportano gli IRI. Per ulteriori informazioni sulle IRI, consultare IRI (Internationalized Resource Identifiers).

Un URL per HTTP (o HTTPS) è normalmente composto da tre o quattro componenti:
  1. Uno schema. Lo schema identifica il protocollo da utilizzare per accedere alla risorsa su Internet. Può essere HTTP (senza SSL) o HTTPS (con SSL).
  2. Un host. Il nome host identifica l'host che contiene la risorsa. Ad esempio, www.example.com. Un server fornisce i servizi nel nome dell'host, ma gli host e i server non hanno un'associazione uno - a - uno. Fare riferimento a Nomi host.

    I nomi host possono essere seguiti anche da un numero porta. Fare riferimento a Numeri porta. I numeri di porta noti per un servizio sono normalmente omessi dall'URL. La maggior parte dei server utilizza numeri di porta noti per HTTP e HTTPS, quindi la maggior parte degli URL HTTP omette il numero di porta.

  3. Un percorso. Il percorso identifica la risorsa specifica nell'host a cui il client Web desidera accedere. Ad esempio, /software/htp/cics/index.html.
  4. Una stringa di query. Se viene utilizzata una stringa di query, essa segue il componente del percorso e fornisce una stringa di informazioni che la risorsa può utilizzare per alcuni scopi (ad esempio, come parametri per una ricerca o come dati da elaborare). La stringa di query è di solito una stringa di coppie nome e valore; ad esempio, term=bluebird. Le coppie nome e valore sono separate l'una dall'altra da una e commerciale (&); ad esempio, term=bluebird&source=browser-search.
I componenti di schema e host di un URL non sono definiti come sensibili al maiuscolo / minuscolo, ma il percorso e la stringa di query sono sensibili al maiuscolo / minuscolo. Generalmente, l'intero URL è specificato in minuscolo.
I componenti dell'URL sono combinati e delimitati come segue:
scheme://host:port/path?query
  • Lo schema è seguito da due punti e due barre.
  • Se viene specificato un numero di porta, tale numero segue il nome host, separato da due punti.
  • Il nome percorso inizia con una singola barra.
  • Se viene specificata una stringa di query, viene preceduta da un punto interrogativo.
Figura 1. Sintassi di un URL HTTP
Leggi diagramma di sintassiIgnora diagramma di sintassi visivohttp:// nome hostindirizzo IP :80:porta/componente del percorso?stringa di query
Di seguito è riportato un esempio di URL HTTP:
http://www.example.com/software/index.html
Con un numero di porta specificato, l'URL è:
http://www.example.com:1030/software/index.html

Un URL può essere seguito da un identificativo del frammento. Il separatore utilizzato tra l'URL e l'identificativo del frammento è il carattere #. Un identificativo di frammento viene utilizzato per puntare un browser Web a un riferimento o a una funzione nell'elemento che ha appena richiamato. Ad esempio, se l'URL identifica una pagina HTML, è possibile utilizzare un identificativo frammento per indicare una sottosezione all'interno della pagina, utilizzando l'ID della sottosezione. In questo caso, il browser Web generalmente visualizza la pagina all'utente in modo che la sottosezione sia visibile. L'azione intrapresa dal browser Web per un identificativo frammento varia a seconda del tipo di supporto dell'elemento e del significato definito dell'identificativo frammento per tale tipo di supporto.

Anche altri protocolli, come FTP (File Transfer Protocol) o Gopher, utilizzano gli URL. Gli URL utilizzati da questi protocolli potrebbero avere una sintassi diversa da quella utilizzata per HTTP.