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 è una sintesi degli URL e degli URI. Per saperne di più, i concetti di URI e URL sono definiti dal documento RFC 2396 della Internet Society e della IETF (Internet Engineering Task Force) Request for Comments, Uniform Resource Identifiers (URI): Generic Syntaxhttps://www.ietf.org/rfc/rfc2396.txt.
In breve, un URI è definito come una qualsiasi stringa di caratteri che identifica una risorsa. Si definiscono URL gli URI che identificano una risorsa in base alla sua posizione o al mezzo utilizzato per accedervi, piuttosto che in base al nome o ad altri attributi della risorsa.
Una forma più recente di identificatore di risorse, l'IRI (Internationalized Resource Identifier), consente di utilizzare caratteri e formati adatti a lingue nazionali diverse dall'inglese. Un IRI può essere utilizzato al posto di un URI o di un URL quando le applicazioni coinvolte nella richiesta e nella risposta supportano gli IRI. Per ulteriori informazioni sugli IRI, vedere Internationalalized Resource Identifiers (IRI).
- Uno schema. Lo schema identifica il protocollo da utilizzare per accedere alla risorsa su Internet. Può essere HTTP (senza SSL) o HTTPS (con SSL).
- Un nome di host. Il nome dell'host identifica l'host che detiene la risorsa. Ad esempio,
www.example.com. Un server fornisce servizi a nome dell'host, ma gli host e i server non hanno una corrispondenza uno a uno. Fare riferimento a Nomi degli host.I nomi di host possono anche essere seguiti da un numero di porta. Fare riferimento a Numeri di porta. I numeri di porta noti per un servizio sono normalmente omessi dall'URL. La maggior parte dei server utilizza i numeri di porta noti per HTTP e HTTPS, quindi la maggior parte degli URL HTTP omette il numero di porta.
- Un percorso. Il percorso identifica la risorsa specifica dell'host a cui il client Web vuole accedere. Ad esempio,
/software/htp/cics/index.html. - Una stringa di query. Se si usa una query string, questa segue il componente percorso e fornisce una stringa di informazioni che la risorsa può usare per qualche scopo (ad esempio, come parametri per una ricerca o come dati da elaborare). La stringa di query è solitamente una stringa di coppie di nomi e valori; ad esempio,
term=bluebird. Le coppie di nomi e valori sono separate tra loro da un ampersand (&); ad esempio,term=bluebird&source=browser-search.
scheme://hostname:port/path?query- Lo schema è seguito da due punti e da due barre in avanti.
- Se viene specificato un numero di porta, questo numero segue il nome dell'host, separato da due punti.
- Il nome del percorso inizia con una singola barra in avanti.
- Se viene specificata una stringa di query, questa è preceduta da un punto interrogativo.
http://www.example.com/software/index.htmlCon un numero di porta specificato, l' URL è:http://www.example.com:1030/software/index.htmlUn URL può essere seguito da un identificatore di frammento. Il separatore utilizzato tra l' URL e l'identificatore del frammento è il carattere #. Un identificatore di frammento viene utilizzato per indirizzare un browser web a un riferimento o a una funzione dell'elemento appena recuperato. Ad esempio, se l' URL identifica una pagina HTML, è possibile utilizzare un identificatore di frammento per indicare una sottosezione della pagina, utilizzando l'ID della sottosezione. In questo caso, il browser web di solito visualizza la pagina all'utente in modo che la sottosezione sia visibile. L'azione intrapresa dal browser web per un identificatore di frammento varia a seconda del tipo di supporto dell'elemento e del significato definito dell'identificatore di frammento per quel tipo di supporto.
Anche altri protocolli, come il File Transfer Protocol (FTP) o Gopher, utilizzano gli URL. Gli URL utilizzati da questi protocolli potrebbero avere una sintassi diversa da quella utilizzata per HTTP.
