HTTP GET более эффективен, чем POST для веб-службы? - PullRequest
1 голос
/ 30 мая 2011

Мне сказали, что POST каким-то образом выполняет двойную отправку на сервер, а GET - нет. Хотя это звучит немного безумно.

По сути, я работаю над веб-проектом, где каждый клиент каждые две секунды вызывает веб-службу из многих стран и, возможно, из-за плохого интернет-соединения. Поэтому мы хотим сделать как можно меньше вызовов и ответов между JavaScript и ASP.Net.

Безопасность не является проблемой, и в основном опрос просто возвращает данные. В любом случае, для его использования необходимо войти в систему.

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Мне сказали, что POST каким-то образом выполняет двойную отправку на сервер, но не получает GET. Хотя это звучит немного безумно.

Вам сказали неправильно. Единственное отличие состоит в том, что POST позволяет отправлять больший объем данных на сервер, и, конечно, чем больше данных вы отправите, тем медленнее будет. Но если вы отправите одинаковый объем данных, между запросами GET и POST не будет никакой разницы в производительности.

Следует также отметить одну важную вещь: если вы вызываете эту службу из JavaScript, GET-запросы могут кэшироваться клиентским браузером. Так, например, если вы снова и снова вызываете один и тот же URL-адрес с помощью AJAX GET-запроса, вы можете получить кэшированные значения, а сервер никогда не нажмет. Чтобы обойти эту проблему, вы можете добавить случайное число в строку запроса, которое не имеет значения для сервера, но которое изменяет URL и предотвращает его кэширование.

0 голосов
/ 26 сентября 2014

При отправке через AJAX-сообщение некоторые разработчики могли опубликовать сообщение в форме отправки и щелкнуть кнопку «Отправить». Позже, когда они нажимают кнопку отправки, оба действия запускаются. Это может быть опыт, который испытали люди, которые сказали вам двойную посылку.

Примечание. Эта двойная отправка POST полностью является ошибкой разработчика. Метод HTTP POST не имеет к этому никакого отношения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...