1. GET е за получаване на нещо, POST – за изпращане на нещо.
2. GET могат да бъдат букмаркнати, POST – не, защото данните, които биват изпращани с POST, не са чат от URL-a на даденият рекуест. Демек, не дават уникалност.
3. Не използвай GET за изпращане на sensitive data.
4. GET обикновено има ограничение за дължината – 255 байта, иначе има грешка Request too long (411) но то не е от самият протокол, а на ниво сървър.
5. POST няма ограничение. Има, но то НЕ Е от самия HTTP протокол, а от PHP настройките (post_max_size).
6. При GET може само текстови данни, при POST може и binary.
7. При GET данните се предават вътре в самият URL, а при POST – в бодито, като първо се пращат хедърите, после празен ред, после данните. Демек, при GET данните се пращат в адреса върху плика, при POST – вътре в писмото.
8. GET не трябва да променя информацията на сървъра, а само да я извлича. Явно затова, браузърите не се притесняват да приемат отново и отново GET заявки, за разлика от POST такива, при които съответно, няма как да знаят какво им се изпраща.