url

L’ URL (Uniform Resource Locator) è la stringa di testo fondamentale nel web.La sintassi degli URL è la chiave di volta della barra degli indirizzi, il più importante indicatore di sicurezza presente nell’interfaccia di ogni broswer.

La sintassi generale degli URL, creazione di Tim Berners Lee, è codificata nella norma RFC3986.

STRUTTURA DEGLI URL
Lo schema sotto riportato rappresenta il formato di un URL assoluto ed interamente qualificato, ovvero un URL che specifica tutte le informazioni richieste per l’accesso ad una risorsa senza dipendere in alcun modo da come sia avvenuta la navigazione.

SCHEMA/NOME PROTOCOLLO
Lo schema è una stringa (senza distinzione tra minuscole e maiuscole) che termina con il segno (:).Indica il protocollo da utilizzare per l’accesso alla risorsa.
Il registro ufficiale degli schemi è gestito dall’ IANA (Internet Assigned Numbers Autority).Ad oggi comprende decine di valori come :http:, https:, ftp:.
I browser e le applicazioni web devono essere in grado di distinguere gli URL assoluti da quelli relativi.

In un URL assoluto possono comparire solo caratteri alfanumerici ed i segni “+” , “” e “.” prima del delimitatore di schema “:“.

In un URL relativo che può essere scritto come …/file php?text=hello+world vengono omesse alcune informazioni, a differenza di quello assoluto, e devono essere interpretati in riferimento ad un URL di base.
.
INDICATORE URL GERARCHICO
Ogni URL assoluto e gerarchico deve contenere la stringa fissa di “//” prima della sezione autority.In mancanza di tale stringa, il formato e la funzione della parte rimanente dell’ URL risultano indefiniti.

Un esempio di URL non gerarchico è quello del protocollo mailto utilizzato per specificare un indirizzo mail.Questi URL vengono passati direttamente al programma di posta predefinito senza che venga intrapeso alcun ulteriore tentativo di interpretarli..

CREDENZIALI DI ACCESSO ALLA RISORSA
In questo campo si può specificare un nome utente ed eventualmente anche una psw, necessari per accedere ai dati sul server.

INDIRIZZO DEL SERVER
In tutti gli URL gerarchici il campo indirizzo del server deve indicare un nome DNS (Domain Name System) come dominio.com oppure un indirizzo IPv4 (Internet Protocol version 4). ogni indirizzo IP viene descritto con 4 numeri in base decimale, in modo che ognuno rappresenti un byte (il valore di un byte varia da 0 a 255 quando lo consideriamo in base dieci), separati dal simbolo “punto”; un esempio di indirizzo IPv4 è 192.0.34.166.

PORTA DEL SERVER
Campo opzionale. Ogni schema ha una porta di default (80 per HTTP, 21 per FTP) che corrisponde a quella generalmente assegnata a tale servizio.

PERCORSO GERARCHICO DEL FILE
Il percorso gerarchico del file è concepito come un modo per identificare una specifica risorsa da un server come può essere: /documents/2014/text_one.txt.La specifica si fonda abbastanza apertamente sulla semantica delle directory di Unix, comprese le risoluzioni dei costrutti /../e/./ nei percorsi, e fornisce un metodo per gestire riferimenti relativi negli URL non completamente qualificati.

STRINGA DI QUERY
Si tratta di un campo opzionale utilizzato per passare parametri arbitrari e non gerarchici alla risorsa identificata. Un esempio è quello del passaggio delle parole digitate dall’utente ad uno script di ricerca sul server come: http://esempio.com/search/query=hello+world.
Normalmente uno svillupatore web è abituato ad una stringa generata dal browser per gestire form ossia: nome=valore1&nome2=valore2…
Questa sintassi non deriva da nessuna RFC (Request for Comments).La stringa di query viene trattata come un blocco di dati “opaco” che deve essere interpretato dal destinatario finale come meglio gli aggrada.

FRAMMENTO
Il campo del frammento è un valore opaco con un compito simile a quello della stringa di query, ma nella fattispecie fornisce istruzioni opzionali all’applicazione client, invece che al server.