Questo articolo espone in sintesi le diverse parti di URL ed è parte di un più ampio corso per imparare a sviluppare Web App. E’ pensato per essere di supporto e integrazione alle lezioni nel mondo reale, per cui non ha la pretesa di essere esaustivo sull’argomento, nel qual caso vi rimando a fonti più complete. Buona lettura!
La parola URL sta per Uniform Resource Locator, che si può tradurre grossolanamente come indicatore uniforme di risorse. E’ un insieme di caratteri (una stringa), ovvero un modo per indicare in modo univoco le risorse su internet. Per esempio una determinata pagina, un sito web, un video, un file audio, e così via.
Un URL è composto da parti ben definite la cui comprensione è necessaria se si vuole imparare a sviluppare Web App.
Vediamo in sintesi le diverse parti e la loro funzione:
- Protocollo: indica il protocollo di comunicazione. Quando due computer comunicano via rete, per parlarsi devono usare regole specifiche. Un po’ come quando si vuole andare a trovare il Papa, il Re di Spagna o la Regina di Inghilterra. Per essere ricevuti dovreste attenervi a uno specifico protocollo, diverso per ciascuno di essi. In ogni caso alla fine di un più o meno lungo cerimoniale sareste ricevuti dal vostro ospite e anche in quel caso dovreste attenervi alle regole di casa. Con i computer è all’incirca lo stesso, solo che qui protocolli diversi identificano tipi di comunicazione diversi. FTP è il protocollo scelto per lo scambio di file, SMTP per l’invio della posta elettronica, SSH per la condivisione di una shell. Ai noi interessa HTTP (e HTTPS), il protocollo per la visualizzazione di pagine web.
- Dominio: il nome di un sito. E’ univoco perché ogni dominio viene registrato presso la IANA: autorità internazionale per l’assegnazione degli indirizzi IP. In ottica web app, ogni application server gestisce un dominio diverso con funzioni specifiche per ogni percorso.
- Path: percorso, all’interno al dominio, di una specifica risorsa. Ovvero identifica una funzione all’application server, la quale produrrà l’opportuna Response. Ogni percorso è univoco e il web server non parte nemmeno se nella sua configurazione trova due risorse sullo stesso percorso.
- Query String: L’insieme dei parametri di una request. In base ad essi, solitamente, il web server restituisce response differenti sullo stesso indirizzo. (presentare 10 o venti elementi in un elenco, ordinare in ordine alfabetico o temporale, ecc.). La query string potrebbe anche non essere presente pur in presenza di parametri.
- Parametri: i parametri di una request. sono tutte coppie di stringhe, codificate come chiave=valore. Le coppie sono fra loro dal carattere &. I parametri dell’URL sono usati dall’application server per eseguire la funzione specifica identificata dal percorso.
Esiste anche la possibilità di passare dei parametri senza usare la Query String. In questo caso i parametri sono opportunamente “nascosti” nel path, ma si tratta di una configurazione che, pur molto usata, preferisco presentare in un articolo successivo.
URL vs URI
URI sta per Uniform Resource Identifier ed è un’estensione di un URL, un po’ come XML è un’estensione di HTML. Riporta le stesse parti di un URL ma lascia la libertà di valorizzare ogni parte come si preferisce, non essendoci un’autorità internazionale a garantirne l’univocità a livello mondiale. E’ tuttavia utile in contesti limitati e autoritari come per indicare risorse specifiche all’interno di un programma. E’ usato nella programmazione Android.