URL: definizione e campi di utilizzo

Sin dagli albori del World Wide Web (abbreviato in web) Internet fornisce ai propri utenti un modo univoco che permette di identificare le risorse in rete: l’URL, standard del documento RFC dal 1994, mette a disposizione degli utenti una sintassi di validità universale con cui localizza contenuti pubblici, consultabili in qualsiasi momento a seconda delle proprie necessità. Così l’URL rientra tra le tecnologie di base del web. Gli utenti utilizzano gli URL giornalmente per richiamare le risorse dal browser, ma questo standard non si limita solo all’identificazione di pagine web.

Vi presentiamo la struttura di base di ogni URL e approfondiamo i principali campi di applicazione.

Che cos’è un URL?

L’abbreviazione URL sta per “Uniform Resource Locator“, in italiano “localizzatore di risorse unitario”. Si tratta di una sottocategoria del cosiddetto “Uniform Resource Identifier” (abbreviato in URI, in italiano “identificatore di risorse unitario“). La struttura di un URL corrisponde alla sintassi dell’URI.

Gli identificatori consentono di rintracciare le risorse su Internet basandosi su un contrassegno univoco, a livello locale ma anche mondiale. In qualità di sottocategoria di “Identifier” gli URL vengono utilizzati come sinonimo di “indirizzo Internet”, fatto imputabile al principale campo di applicazione dell’URL: l’identificazione delle pagine web. Tuttavia gli URL non si limitano solo a questo, infatti grazie a loro si possono localizzare, ad esempio, anche file nel file system locale. Vale perciò la regola che ogni indirizzo Internet è un URL, ma non ogni URL è un indirizzo Internet.

Definizione

L’abbreviazione URL sta per “Uniform Resource Locator“. Gli URL consentono di identificare univocamente le risorse e di aprirle quando necessario. Ad esempio gli utenti utilizzano gli URL nel browser per richiamare le pagine web dalla barra degli indirizzi o scaricare i file.

Struttura dell’URL

Ogni URL è composto da più componenti suddivise per comodità in due sottoinsiemi: il cosiddetto schema (o protocollo) e una sezione relativa a tale schema.

  • Schema: lo schema dell’URL indica sia il tipo di risorse sia il metodo di accesso e comprende tutte le informazioni riguardo alle modalità di accesso alle risorse. Spesso lo schema dell’URL prende lo stesso nome del protocollo corrispondente del metodo di accesso sul livello di applicazione. Gli schemi comuni sono http/https, mailto, file o ftp.
  • Parte che specifica lo schema: a seconda del tipo di schema la parte che specifica lo schema dell’URL comprende una serie di segmenti che contengono la posizione della rispettiva risorsa e i parametri di elaborazione opzionali.

I due punti svolgono la funzione di separatore tra gli schemi e la parte che specifica lo schema. Inoltre a seconda dello schema possono essere necessarie due barre oblique, che risalgono a una convenzione degli inizi del web e che oggi non hanno più una specifica funzione.

Alla base dell’URL si trova la seguente sintassi dell’URI:

Scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

A ogni segmento della parte che specifica lo schema viene assegnata una precisa funzione. Le sezioni user, password, host e port vengono chiamate anche “Authority“ (autorità). L’Authority indica su quale computer si trova una risorsa e a quale namespace vada attribuita.

 

  • user e password: le sezioni user e password comprendono il nome utente e la password di un utente autorizzato all’accesso di una risorsa e vengono separati tra di loro da due punti. Entrambi i campi sono obbligatori nel caso in cui la risorsa richieda un’autentificazione. Il nome utente e la password vengono separati con un simbolo @ dal segmento URI host.
  • host: il segmento URI host comprende di solito un dominio ,inclusi i domini di primo, secondo e terzo livello, e indica così un preciso computer (host) dal quale deve essere richiamata la risorsa scelta. In alternativa è possibile segnalare il nome del computer sotto forma di un indirizzo IP.
  • port: con l’indicazione di un numero di porta è possibile gestire una precisa porta TCP/IP nella rete. Tuttavia la sua segnalazione rimane opzionale, visto che la maggior parte degli schemi dispongono già di una porta di default. Le porte standard sono ad esempio la 80 per il protocollo HTTP, 443 per quello HTTPS o 21 per FTP. Un numero di porta va inserito solo quando non è definita nessuna porta generale o non deve essere utilizzata una porta standard per la trasmissione. Il numero di porta viene separato con due punti dalla sezione host.

 

Di solito il dominio nell’Authority viene indicato in forma leggibile da utenti umani, mentre i computer lavorano con gli indirizzi IP. L’apertura di una risorsa web richiede perciò prima un passaggio intermedio che si svolge in background senza che l’utente se ne accorga: la risoluzione dei nomi sulla base del Domain Name System (DNS).

N.B.

DNS descrive un servizio nelle reti basate su IP che consiste nella risoluzione dei nomi di dominio negli indirizzi IP o negli IP in domini. I servizi Internet mettono a disposizione i cosiddetti server DNS. Se un utente apre una pagina, il router inoltra la richiesta prima al server DNS competente che individua l’indirizzo IP giusto per il dominio ricercato e lo rimanda indietro. Una volta che l’indirizzo IP ricercato è giunto al router, ci si può indirizzare al web server corrispondente.

All’Authority dell’URI segue l’indicazione di dove si trovi la risorsa sul computer, oltre che i componenti opzionali query string e l’indicazione del fragment.

  • path: il segmento URI path comprende il percorso per arrivare alla risorsa e rimanda così alla posizione di memorizzazione sul computer di destinazione. Il percorso comincia sempre con uno slash (/).
  • query: alcune risorse web comprendono dei componenti eseguibili e richiedono oltre al percorso file una cosiddetta query string (chiamata anche stringa di ricerca). Questa comprende i parametri (ad esempio gli input utente) che vengono forniti insieme all’URL ed elaborati lato server. È comune nelle pagine web dinamiche che vengono create solo al momento dell’apertura dei record da un database. La query string viene sempre introdotta da un punto interrogativo (?).
  • fragment: se si deve fare riferimento a un punto preciso in una risorsa, l’URI termina con l’indicazione di un fragment, che viene incluso separatamente con un hashtag (#) e rimanda di solito a un anchor denominato con un ID univoco in un documento HTML, ad esempio a un titolo di un sottoparagrafo.
  • In base allo schema utilizzato si stabilisce quali elementi della sintassi dell’URI sono contenuti in un URL. La struttura dell’URL viene così determinata dal tipo di risorsa. La seguente lista comprende i tipi di URL più comuni:

    http

    Le pagine web vengono richiamate tramite i protocolli HTTP (Hypertext Transfer Protocol) o HTTPS (Hypertext Transfer Protocol over SSL). Nell’ultimo caso i dati vengono trasmessi tramite una connessione sicura. La struttura dell’URL è uguale per entrambi i protocolli.

    Schema Separatore Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema
        Nome utente Password Host (dominio) Porta Percorso Query Fragment
    http :// Solitamente si tralascia Solitamente si tralascia www.example.org :8080 /index.html ?id=1254 #55652

    Richiamando un URL non è di solito necessaria nessuna autentificazione. L’Authority comprende perciò solamente il dominio tramite il quale il sito desiderato può essere richiamato. Si tralasciano il nome utente e la password.

    mailto

    mailto è uno schema URL per gli indirizzi e-mail che consente ai gestori delle pagine web di implementare degli hyperlink per essere contattati. Se un utente clicca sul collegamento mailto, tutti i browser in uso aprono automaticamente il programma standard di posta elettronica del sistema e una nuova finestra per l’e-mail. Così l’indirizzo e-mail che è stato indicato nella parte che specifica lo schema viene inserito nella finestra come indirizzo del destinatario. All’utente viene così risparmiato di avviare il programma da solo e di trasmettere l’indirizzo e-mail manualmente.

    Schema Separatore Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema
        Nome utente Separatore Host (dominio)
    mailto : john.doe @ example.org

    Negli URL con lo schema mailto viene presentato nella parte che specifica lo schema solo l’indirizzo e-mail del destinatario. Lo schema e la parte che specifica lo schema vengono separati dagli URL mailto solo con due punti. Si tralascia il doppio slash. Tramite una query string si può impostare l’header dell’e-mail per trasmettere, ad esempio, il valore predefinito per l’oggetto e il testo dell’e-mail.

    file

    Per richiamare degli specifici file sul proprio computer serve lo schema file. Se si inserisce il percorso corretto come URL nella barra degli indirizzi di un browser, vengono richiamati la cartella o il file di destinazione desiderati.

    Schema Separatore Parte che specifica lo schema
        Percorso
    file :// /C:/cartella/sottocartella/file.txt

    Visto che lo schema file rimanda a una risorsa locale, si tralascia l’indicazione dell’Authority. Il percorso del file comincia sempre con uno slash. Ne risultano così un URL con tre barre oblique di seguito.

    ftp

    Gli URL con lo schema FTP (File Transfer Protocol) consentono l’accesso ai file che si trovano su un altro computer (accesso remoto). Per la trasmissione viene utilizzato l’omonimo protocollo di trasmissione dati FTP.

    Schema Separatore Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema Parte che specifica lo schema
        Nome utente Password Separatore Host (dominio) Porta Percorso
    ftp :// john :quertz123 @ www.example.org :21 /index.html

    Un utente che vuole accedere tramite FTP ai file presenti su un file system remoto si deve di solito autentificare. Gli URL, che fanno riferimento alle risorse FTP, comprendono perciò perlopiù i dati di accesso (nome utente e password).

    Caratteri consentiti in un URL

    Lo standard URL supporta solo un set di caratteri limitati appartenenti a una selezione di caratteri ASCII (American Code for Information Interchange). Inoltre bisogna considerare il fatto che numerosi caratteri sono già destinati a funzioni precise, per cui indicano, ad esempio, singoli segmenti che comportano la scomposizione o la modifica dell’URL.

    Ai seguenti caratteri è stata assegnata una funzione definita nello standard URL:

    : / ? # [ ] @ $ & ' ( ) * + , ; = 

    Ad esempio il punto interrogativo (?) introduce una query string, mentre diversi parametri nella query string vengono delimitati con il simbolo della e commerciale (&). Per separare i nomi dei parametri e dei valori viene utilizzato il simbolo dell’uguale (=). L’hashtag (#) introduce l’anchor.

    Tra i caratteri senza funzione predefinita rientrano tutte le lettere e le cifre, così come i seguenti caratteri speciali:

    A-Z, a-z
    0-9
    - . _ ~

    I caratteri ASCII non elencati in questa sede e tutti gli altri caratteri non-ASCII non possono essere utilizzati negli URL e devono essere riscritti. Allo stesso modo è possibile riscrivere uno dei caratteri prenotati per evitare che vengano interpretati in base al loro significato predefinito. Per la riscrittura dei caratteri ASCII lo standard URL utilizza il segno di mascheramento % (percentuale) così come la tabella dei valori ASCII nell’annotazione esadecimale. Anche i caratteri non-ASCII vengono riscritti servendosi della rappresentazione in percentuale.

    L’RFC 3986 consiglia una codifica compatibile con l’ASCII sulla base di UTF-8, anche se non risulta obbligatoria, in quanto è il fornitore del rispettivo servizio a decidere quale codifica venga utilizzata. Un carattere speciale come ü può ad esempio venire rappresentato come %FC (Latin-1) o %C3%BC (UTF-8).

    Invece i caratteri speciali nel dominio vengono trasformati in catene di caratteri compatibili con l’ASCII utilizzando il punycode. Trovate maggiori informazioni sulla codifica tramite punycode nel nostro articolo sui nomi di dominio internazionali.

    Consiglio

    Sul sito del consulente di web design Eric A. Meyer viene ad esempio messo a disposizione un codificatore di URL gratuito.

    La differenza tra URL assoluti e relativi

    Gli URL vengono utilizzati come URL assoluti o relativi. Gli URL assoluti sono universalmente validi e comprendono tutti i segmenti necessari per lo schema di riferimento. Gli URL relativi, invece, sono validi solo in un preciso contesto ed ereditano da questo delle proprietà specifiche, di modo che quelle parti specifiche di un URL diventino ridondanti e possano essere tralasciate. Tra le informazioni che possono risultare dal contesto rientrano ad esempio il protocollo, i domini o anche il percorso per arrivare alla risorsa.

    Gli URL relativi vengono utilizzati anche nei collegamenti ipertestuali sulle pagine web per collegare diverse sottopagine di un sito. L’URL del link eredita l’indicazione dei dati dalla pagina web su cui viene usato.

    I seguenti esempi indicano un link da www.example.org/index/pagina1 a www.example.org/index/pagina2 con URL assoluto o relativo.

    Collegamento ipertestuale con URL assoluto:

    <a href="http://www.example.org/index/pagina2">Testo del link</a>

    Collegamento ipertestuale con URL relativo:

    <a href="/index/pagina2">Testo del link</a>

    Gli URL relativi hanno il vantaggio di essere nettamente più corti e contribuiscono a creare un codice sorgente agevole e chiaro. Inoltre i collegamenti ipertestuali facilitano con gli URL relativi il trasferimento del dominio. Se si modifica il dominio del sito, è necessario sostituirlo manualmente in tutti i link interni con URL assoluto o reindirizzarlo. Ci si risparmia questo lavoro nel caso degli URL relativi che si presentano senza Authority e quindi senza indicazione del dominio.


    Abbiamo una proposta per te:
    Web hosting a partire da 1 €/mese!

    Dominio gratis
    Certificato SSL Wildcard incluso
    Assistenza clienti 24/7
    A partire da 1 €/mese IVA escl. per un anno,
    poi 8 €/ mese IVA escl.