Page 94 - Guida tascabile HTML5
P. 94
L’obiettivo dei form è dare all’utente la possibilità di inviare dati al server,
affinché, come detto, vengano elaborati da script studiati appositamente. A seconda
del tipo e della quantità di dati da trasmettere è possibile approcciare la questione
seguendo due strade diverse.
I dati get sono concatenati direttamente nell’URL della pagina, in una serie di
coppie nome=valore. Un punto di domanda, ?, separa tali parametri dall’indirizzo
della pagina vero e proprio:
http://www.apogeonline.com/?s=HTML
In questo URL, al server viene trasmessa la variabile s (abbreviazione di
search) con valore HTML.
TERMINOLOGIA Allontanandoci un momento dai dati trasmessi direttamente dai
form, i parametri get possono essere utili anche per creare siti web dinamici: in questi
casi, per rendere più elegante la struttura delle pagine è possibile ricorrere a script
specifici sul server per associare URL senza simboli, definiti pretty URL alle richieste
da inviare: per esempio l’indirizzo http://www.apogeonline.com/categoria/programmazione/
può essere utilizzato per mascherare l’invio di una variabile di nome categoria, con
valore programmazione.
È evidente che questo tipo di soluzione ha un senso quando la mole di dati non è
significativa, e spesso viene utilizzata per l’invio di singoli parametri o
combinazioni di poche informazioni: per quantità di dati più elevate non si rivela
un metodo molto valido.
ATTENZIONE Un limite consigliabile per la lunghezza dell’URL, da tenere presente
per limitare il rischio che i dati siano troncati dal server è di 2000 caratteri. Oltre questo
limite alcuni browser e script potrebbero avere difficoltà a “digerire” la mole di dati.
È anche utile tenere presente che tutte le informazioni così trasmesse saranno
codificate dal browser per generare URL validi. Per esempio, lo spazio è un
carattere non accettabile: modificando l’esempio precedente per effettuare una
ricerca della stringa “Linus Torvalds” il browser invierà al server un URL in cui lo
spazio è stato sostituito con %20:
http://www.apogeonline.com/?s=Linus%20Torvalds
Passando al metodo post, il discorso cambia: le informazioni vengono codificate
e trasmesse al server nel corpo della richiesta HTTP generata dal submit del form.
In questo caso l’URL non riporterà i dati trasmessi, ma il server sarà in grado di
recepire il messaggio e decodificare le informazioni in esso contenute.
NOTA Generalmente la trasmissione dei dati con metodo post, con le dovute
accortezze, garantisce un livello di sicurezza superiore, indispensabile in alcuni