GET e POST sono i due metodi di richiesta HTTP più comunemente usati. In genere le richieste GET vengono utilizzate per richiedere pagine Web mentre POST viene utilizzato per inviare dati al server Web, ad esempio tramite un modulo Web.
Suggerimento: sebbene siano chiamati metodi HTTP, sia GET che POST vengono utilizzati anche in HTTPS.
Una delle distinzioni importanti è che tutti i parametri inclusi nelle richieste GET sono inclusi nell'URL stesso, mentre i parametri nelle richieste POST fanno parte del corpo della richiesta.
Ad esempio, un URL di richiesta GET può essere simile a "GET.php? parametro=valore" mentre l'URL per una richiesta POST assomiglierebbe a "POST.php" e quindi avrebbe "parametro=valore" impostato nel corpo della richiesta.
Una delle principali conseguenze di ciò è che quando i log dei server web richiedono l'URL richiesto viene sempre registrato. Quindi, per le richieste GET, vengono registrati anche i parametri, nel caso delle richieste POST anche se i valori non vengono registrati poiché il corpo della richiesta non viene registrato. Ciò è particolarmente importante per i moduli che contengono dati sensibili come password o PII (Informazioni di identificazione personale), poiché l'utilizzo di POST significa che queste informazioni non vengono registrate server web.
Altre differenze tra GET e POST includono il fatto che le richieste GET possono essere memorizzate nella cache dal browser o da cache di terze parti, le richieste GET sono incluse nella cronologia del browser e possono essere contrassegnate. Le richieste POST in confronto non vengono mai memorizzate nella cache, non vengono salvate nella cronologia del browser e non possono essere salvate nei segnalibri.
È possibile configurare i moduli per utilizzare una richiesta GET per inviare dati al server web, ma farlo è una cattiva idea poiché tutti questi fattori entrano in gioco. È particolarmente importante per i moduli sensibili come i moduli di accesso poiché se questa richiesta fosse registrata rivelerebbe il password dell'utente e, se la risposta è stata memorizzata nella cache da una terza parte, potrebbe consentire ad altri utenti di accedere al account.