title: Query string
text: # Query string
  
  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
  
  * 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 "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. 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
  
  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 "&" .
  
  ### 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 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.
  
  