URL : anatomia de per esempi
TLDR: nella maggior parte dei casi un URL è composto da protocollo nome dominio percorso risorsa.
1 URL di esempio:
https://sabatinipaolo.github.io/1.html
Ecco tutte le sue parti:
1. Schema (o Protocollo)
https://
- Cosa fa: Definisce il protocollo che il browser (client) e il server devono usare per comunicare.
- Esempi comuni:
https
: Protocollo sicuro (crittografato).http
: Protocollo non sicuro, sicuro de che?.ftp
: Per il trasferimento di file.mailto
: Per aprire il client di posta.
2. Host (o “Dominio”) o nome DNS dell’host
sabatinipaolo.github.io
- Cosa fa: Specifica l’indirizzo del server che ospita la risorsa. È il “nome” del sito.
- Può essere un nome di dominio (come sopra) o un indirizzo IP (come
10.20.20.25
).
3. Path (Percorso)
/1.html
- Cosa fa: Specifica la posizione specifica della risorsa all’interno del server. Come il percorso di una cartella sul tuo computer.
- Indica spesso la struttura delle cartelle del sito web.
2 URL di esempio:
https://sabatinipaolo.github.io/
Abbiamo protocollo, nome host
. Path (Percorso)
/
- stavolta il path non sembra specificare la risorsa ma solo la web root
/
.
in questo caso il web server potrebbe rispondere facendo vedere l’elenco dei file presenti nella directory (non buono per siti production)
o più frequentemente invia, se presente, un file predefinito seguendo un certo ordine di priorità opportunamente configurato
esempio apache sul mio computer è configurato così:
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
3 URL di esempio:
http://10.20.20.25/~paolo/prova/1.html
Abbiamo protocollo, nome host , un path più complicato..
** Path (Percorso)**
/~paolo/prova/1.html
sul web-server c'è a partire dalla web root una directory `~paolo` ( in realtà abbiamo visto che corrisponde a `../publich_html/` ...)
nella quale c'è una directory `prova/` dove si trova il file `1.html`
4 URL di esempio:
https://duckduckgo.com/index.php?q=panini
Abbiamo protocollo, nome host , un path con ?q=panini
Query String (Parametri di Ricerca)**
?q=panini
- Cosa fa: Fornisce parametri aggiuntivi per quella risorsa. Viene utilizzata per ricerche, filtri, o per inviare dati al server.
- Inizia con
?
. - I parametri sono in coppie
nome=valore
. - Le coppie sono separate da
&
.
nel nostro caso il server utilizza il parametro di nome q
e di valore panini
per fare una ricerca della parola panini …
6 URL di esempio:
https://sabatinipaolo.github.io/seg/index.html#segnalino
Abbiamo protocollo, nome host , un path con #segnalino
.
Fragment (Frammento o Anchor)**
#segnalino
- Cosa fa: Identifica una parte specifica all’interno della risorsa stessa.
- Nel caso di una pagina HTML, il browser scorrerà automaticamente fino alla sezione con l’ID
segnalino
. - Importante: Il frammento non viene inviato al server. Viene gestito solo dal browser.