In informatica una query-string o stringa di ricerca è 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.

Descrizione

modifica
  • Caratteri "riservati" - i simboli: "$" "&" "+" "," "/" ":" ";" "=" "?" "@" hanno funzioni specifiche all'interno dell'URL quindi, per evitare possibili conflitti devono obbligatoriamente essere codificati prima della trasmissione.
  • Caratteri "non sicuri" - 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 così via.[1] Lo spazio può anche essere rappresentato con il simbolo "+", una notazione abbreviata utilizzata per rendere le query-string interpretabili anche da quei sistemi che non supportano gli spazi.

Sintassi

modifica

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&parametro2=valore2&parametro3=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 "&" .

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 colmare, 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 (di solito scritto in JavaServer Pages, PHP, Asp o Perl) che abita sul server.