Есть несколько неправильных представлений о GET и POST в HTTP. Есть одно основное отличие: GET должен быть идемпотентом, в то время как POST не должен быть. Это означает, что GET не вызывают побочных эффектов, то есть я могу отправлять GET в веб-приложение столько раз, сколько захочу (думаю, нажимая Ctrl + R или F5 много раз), и запросы будут «безопасными»
Я не могу сделать это с POST, POST может изменить данные на сервере. Например, если я заказываю элемент в Интернете, этот элемент должен быть добавлен с помощью POST, поскольку состояние на сервере изменяется, количество добавленных элементов увеличилось на 1. Если я сделал это с помощью POST и нажал кнопку Обновить в браузере браузер предупреждает меня, если я сделаю это с помощью GET, браузер просто отправит запрос.
На сервере GET против POST - это чистое соглашение, то есть я как разработчик должен убедиться, что я кодирую POST на сервере, чтобы не повторял вызов. Есть разные способы сделать это, но это другой вопрос.
Чтобы ответить на вопрос, использую ли я GET или POST для выполнения одной и той же задачи, разница в производительности отсутствует.
Вы можете прочитать RFC (http://www.w3.org/Protocols/rfc2616/rfc2616.html) для более подробной информации.