Query string
Una query-string è la parte di un URL che contiene dei dati da passare in input ad un programma.
L'URL conterrà l'indirizzo di un server, e il percorso nel suo file system per arrivare alla directory nella quale è presente l'eseguibile del programma.
Al termine di tale indirizzo, il segno di "?" apre la query-string. Propriamente, la query.string non comprende il segno di "?", ma è tutto ciò che lo segue.
Caratteristiche
- Lunghezza - Il protocollo HTTP non prevede limiti di lunghezza. Alcuni browser come Internet Explorer limitano tale lunghezza a poco più di 2000 caratteri mentre Firefox, Opera ed altri, non sembrano soffrire questa limitazione.
- Caratteri "riservati" - i simboli: "$" "&" "+" "," "/" ":" ";" "=" "?" "@" hanno funzioni specifiche all'interno dell' URL quindi, per evitare possibili conflitti devono obbligatoriamente essere codificati prima della trasmissione.
- Caratteri "insicuri" - i simboli: " " (spazio) """ (doppi apici) "<" ">" "#" "%" per evitare ambiguità, è consigliabile codificarli
- Codifica URLencode - Ciascun carattere da codificare, viene sostituito da una tripletta composta dal simbolo "%" seguito da 2 caratteri che rappresentano il corrispondente valore esadecimale. Ad esempio: %20 rappresenta uno spazio, %21 rappresenta il simbolo "!" e cosi via.
Sintassi
La sintassi della querystring non è formalmente definita, si può tuttavia definire standard (perché implementata in tutti i browser e nei linguaggi di scripting) il seguente schema:
parametro1=valore1¶metro2=valore2¶metro3=valore3
A ciascun parametro (che può avere nome arbitrario) viene assegnato un valore utilizzando il separatore "=".
I vari parametri (limitati nel numero solo dalla lunghezza della querystring) sono intervallati dal simbolo "&" .
Usi
La query-string è tipicamente usata per passare al server i dati che l'utente inserisce nei vari spazi bianchi di una web form. Se campo_1, campo_2, campo_3 sono gli spazi della web form da riempire, l'URL generata salvando la form sarà del tipo:
http://server/percorso/programma?campo_1=valore_1&campo_2=valore_2&campo_3=valore_3
.
Esempio:
http://it.wikipedia.org/application/new_user/registration_form?nome=Mario&cognome=Rossi&ID_utente=M_Rossi
.
La query string viene generata dal browser ed inviata ad un programma (generalmente scritto in JavaServer Pages, Php, Asp o Perl) residente sul server.