Con i moderni siti web in­te­rat­ti­vi i client, ossia i browser, non ri­chia­ma­no di­ret­ta­men­te i documenti HTML dal server, piuttosto inviano le seguenti in­for­ma­zio­ni:

  • il testo di una ricerca che l’utente ha digitato nel campo di ricerca
  • i dati contenuti in un modulo compilato
  • la scelta dei filtri per la vi­sua­liz­za­zio­ne di un negozio online
  • l’ordine di un elenco

A di­spo­si­zio­ne per la tra­smis­sio­ne di in­for­ma­zio­ni di questo tipo al server ci sono diversi metodi di richiesta del pro­to­col­lo HTTP. I due più im­por­tan­ti sono senza dubbio i metodi che portano il nome di GET e POST. Sebbene il risultato di entrambi sia lo stesso, i due metodi di ricerca si dif­fe­ren­zia­no in maniera so­stan­zia­le. Leggete i seguenti capitoli per scoprire quale di questi due metodi fa più al caso vostro.

N.B.

Se de­si­de­ra­te ap­pro­fon­di­re i vari metodi di ricerca più in generale, leggete il nostro articolo sulle richieste HTTP.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

GET

Con il metodo GET i dati che devono essere inviati al server sono scritti di­ret­ta­men­te all’interno dell’URL. Il risultato nel vostro browser apparirà così:

www.example.com/register.php?firstname=peter&name=miller&age=55&gender=male

Tutte le in­for­ma­zio­ni fornite dall’utente, quelli che sono definiti parametri URL, sono trasmesse tanto aper­ta­men­te quanto l’URL stesso. Chia­ra­men­te questo porta con sé vantaggi e svantaggi:

Vantaggi del metodo di richiesta GET

I parametri URL possono essere salvati assieme all’indirizzo del sito web. Potete salvare una query come se­gna­li­bro, così da ri­chia­mar­lo co­mo­da­men­te in seguito. All’evenienza la pagina può essere ripescata dalla cro­no­lo­gia del browser.

Questo risulta pratico, ad esempio, per riuscire ad aprire le mappe di Google Maps o per salvare i siti web con de­ter­mi­na­te im­po­sta­zio­ni dei filtri e degli elenchi.

Svantaggi del metodo di richiesta GET

Lo svan­tag­gio prin­ci­pa­le del metodo di richiesta GET è l’assenza di pro­te­zio­ne dei dati. I parametri URL inviati assieme all’URL stesso non solo sono visibili da tutti nella barra degli indirizzi del browser, ma sono ad­di­rit­tu­ra salvati nella cro­no­lo­gia, nella cartella cache e nel file log del browser senza essere pre­ce­den­te­men­te stati co­di­fi­ca­ti.

Un secondo svan­tag­gio del metodo GET è la sua capacità limitata. Nell’URL non possono essere inseriti più di poco più di 2.000 caratteri, in base al web server e al browser uti­liz­za­ti. Inoltre, i parametri URL possono contenere solamente caratteri ASCII (lettere, numeri, caratteri speciali, ecc.), ma non dati binari come file audio o immagini.

POST

Il metodo POST scrive i parametri URL nella richiesta HTTP in­di­riz­za­ta al server, celandoli però alla vista dell’utente. Le richieste POST non pre­ven­do­no un limite massimo di grandezza.

Vantaggi del metodo di richiesta POST

Se si tratta di tra­smet­te­re i dati sensibili al server, come, ad esempio, un modulo ne­ces­sa­rio per la re­gi­stra­zio­ne con username e password, il metodo POST offre la di­scre­zio­ne ne­ces­sa­ria. I dati non vengono né salvati nella cache, né compaiono nella cro­no­lo­gia del browser. Anche la fles­si­bi­li­tà è un punto di forza del POST. Grazie a esso si possono tra­smet­te­re anche dati di qualsiasi tipo e ordine di di­men­sio­ne, come foto o video, oltre na­tu­ral­men­te a brevi testi.

Svantaggi del metodo di richiesta POST

Quando nel browser si aggiorna la pagina di un sito web che contiene un modulo da compilare, ad esempio cliccando il pulsante indietro, i dati inseriti nel modulo vanno nuo­va­men­te inseriti e quindi trasmessi un’altra volta. Si­cu­ra­men­te vi sarà già capitato. Quando questo avviene, si rischia che i dati siano inviati più volte, cosa che può risultare par­ti­co­lar­men­te scon­ve­nien­te se, ad esempio, il modulo che si sta com­pi­lan­do serve per ef­fet­tua­re un ordine online, sca­te­nan­do così possibili ordini doppi. I programmi per gli shop online moderni sono in grado di impedire che ciò avvenga.

Allo stesso modo, i dati trasmessi con il metodo POST, non possono essere salvati come se­gna­li­bro assieme all’URL.

GET vs POST a confronto

GET POST
Vi­si­bi­li­tà dei dati Visibili all’utente nella barra degli indirizzi del browser Non visibili agli utenti
Se­gna­li­bri e cro­no­lo­gia I parametri URL sono salvati assieme all’URL L'URL è salvato senza i parametri URL
Cache e file log del server I parametri URL sono salvati senza codifica I parametri URL non sono salvati in au­to­ma­ti­co
Com­por­ta­men­to quando si ricarica la pagina o si preme il pulsante “Indietro” I parametri URL non sono inviati nuo­va­men­te Il browser avvisa che i dati del modulo devono essere inviati nuo­va­men­te
Tipo di dati Solo caratteri ASCII Caratteri ASCII e dati in codice binario
Lunghezza dei dati Limitato alla lunghezza massima con­sen­ti­ta per l’url (2.048 caratteri) Il­li­mi­ta­to

Quando uti­liz­za­re quale metodo

POST viene quasi sempre preferito quando l’utente deve inviare dati o file al server, ad esempio nel caso di moduli o per il ca­ri­ca­men­to online di file immagine.

GET è par­ti­co­lar­men­te adatto per la per­so­na­liz­za­zio­ne dei siti web: i termini di ricerca, le im­po­sta­zio­ni dei filtri e l’ordine degli elenchi dell’utente possono essere salvati assieme all’URL come se­gna­li­bri, così che al prossimo accesso il sito web appaia esat­ta­men­te così come lo si desidera.

Come regola generale, si può adottare la seguente:

  • GET per le im­po­sta­zio­ni di un sito web (filtri, elenchi, termini di ricerca e così via)
  • POST per la tra­smis­sio­ne di dati e in­for­ma­zio­ni relativi all’utente.
Vai al menu prin­ci­pa­le