Ci sono diversi equivoci su GET e POST in HTTP. C'è una differenza primaria, GET deve essere idempotente mentre il POST non deve essere. Ciò significa che i GET non causano effetti collaterali, cioè posso inviare un GET a un'applicazione web tutte le volte che voglio (credo di premere Ctrl + R o F5 molte volte) e le richieste saranno 'sicure'
Non riesco a farlo con il POST, un POST può cambiare i dati sul server. Ad esempio, se ordino un articolo sul web l'articolo dovrebbe essere aggiunto con un POST perché lo stato è cambiato sul server, il numero di elementi che ho aggiunto è aumentato di 1. Se l'ho fatto con un POST e l'aggiornamento del colpo nel browser il browser mi avverte, se lo faccio con un GET il browser invierà semplicemente la richiesta.
Sul server GET vs POST è pura convenzione, cioè spetta a me come sviluppatore garantire che codice il POST sul server per non ripetere la chiamata. Ci sono vari modi per farlo, ma questa è un'altra domanda.
Per rispondere effettivamente alla domanda se utilizzo GET o POST per eseguire lo stesso compito non ci sono differenze di prestazioni.
È possibile leggere l'RFC (http://www.w3.org/Protocols/rfc2616/rfc2616.html) per ulteriori dettagli.
fonte
2009-07-31 16:20:14
È necessario scegliere GET vs POST in base al fatto che l'azione abbia effetti collaterali, nessuna differenza di prestazioni percepita. – Draemon