In questo articolo approfondiremo Uniform Resource Locator ed esploreremo le sue numerose sfaccettature. Uniform Resource Locator è un argomento che ha catturato l'attenzione di esperti e dilettanti e la sua rilevanza abbraccia diversi campi. Nel corso della storia, Uniform Resource Locator ha svolto un ruolo cruciale nella società, nella cultura e nella scienza, segnando un prima e un dopo nel modo in cui comprendiamo il mondo che ci circonda. Attraverso un'analisi dettagliata ed esaustiva, esamineremo i diversi aspetti di Uniform Resource Locator, dalle sue origini fino al suo impatto sul presente. Scopriremo come si è evoluto Uniform Resource Locator nel corso degli anni e qual è la sua attualità oggi. Questo articolo ti invita a immergerti nell'affascinante mondo di Uniform Resource Locator e a scoprire perché continua a essere argomento di interesse e dibattito oggi.
Lo Uniform Resource Locator, anche noto con la sigla URL (lett. "localizzatore uniforme di risorse"), è una sequenza di caratteri che identifica univocamente l'indirizzo di una risorsa su una rete di computer, come ad esempio un documento, un'immagine, un video, tipicamente presente su un hostserver e resa accessibile a un client.
È perlopiù utilizzato per indicare risorse web (http), risorse recuperabili tramite protocolli di trasferimento file (ftp), condivisioni remote (smb) o accessi a sistemi esterni (ssh). La risoluzione dell'URL in indirizzo IP, necessario per l'instradamento con il protocollo IP avviene tramite DNS.
La struttura di un URL è codificata nel documento RFC 3986 della IETF, scritta da Tim Berners-Lee, e si compone normalmente di sei parti, alcune delle quali opzionali:
protocollo://@]host
protocollo
Identifica il protocollo, tipicamente di livello applicazioni, da utilizzare per l'accesso al server. I protocolli più comuni sono l'HTTP, HTTPS, FTP, MMS ecc. Se il protocollo non viene specificato, generalmente il browser utilizza il protocollo "http" come predefinito. In alcuni casi l'utente potrebbe vedere la pagina caricata con protocollo https, ma questo solo perché il web server è già stato contattato con protocollo http e ha risposto al browser con un codice di stato di reindirizzamento (3xx, di solito 301 o 302).
://
Separatore tra il protocollo e il resto dell'URL: di solito l'host, o opzionalmente lo username.
username:password@ (opzionale)
Subito dopo il protocollo, è possibile specificare le credenziali di autenticazione (username e password) per l'accesso alla risorsa. L'autenticazione in URL è però estremamente rischiosa, in quanto le credenziali di accesso vengono inviate al server in chiaro, ovvero non cifrate.
Inoltre questo sistema si presta a tecniche di phishing che possono indurre in errore gli utenti, conducendoli ad una destinazione completamente diversa da quella attesa. Ad esempio http://www.sitosicuro.it|searchq=wikipedia@www.truffatori.com può a prima vista sembrare l'URL di una pagina di www.sitosicuro.it, quando in realtà conduce a www.truffatori.com.
Da diversi anni, un update del browser obsoleto Internet Explorer (832894) ha disattivato la funzione di autenticazione, rendendo inefficaci i tentativi di phishing. Altri browser come Firefox hanno mantenuto la funzione, avvertendo tuttavia l'utente del possibile tentativo di phishing.
host
Identifica il server su cui risiede la risorsa. Può essere rappresentato direttamente da un indirizzo IP o (più comunemente) da un nome di dominio che il software converte in indirizzo IP avvalendosi del servizio DNS.
porta (opzionale)
Identifica la porta del servizio di rete al quale inoltrare la richiesta. Il numero di porta può essere omesso quando corrisponde alla porta standard associata al protocollo indicato dall'URL (ad esempio 80 per HTTP o 443 per HTTPS).
percorso (opzionale)
Percorso (pathname) nel file system del server che identifica la risorsa (generalmente una pagina web, una immagine o un file multimediale). Se il nome del file non viene specificato, il server può essere configurato per restituire un file predefinito.
querystring (opzionale)
Se richiesto, al termine dell'url è possibile aggiungere una query string separandola con l'utilizzo del simbolo "?". La query string è una stringa di caratteri che consente di passare al server uno o più parametri.
Di norma, la query string ha questo formato: ?parametro1=valore¶metro2=valore2.
fragment (opzionale)
Se presente, indica una parte o una posizione all'interno della risorsa, come la query string è possibile utilizzare più parametri, con la differenza che, essendo utilizzati dal client per sapere come muoversi all'interno di una risorsa non verranno inviati al server.
Di norma, il fragment ha questo formato: #parametro1=valore¶metro2=valore2.