В чем разница между отправкой и получением запросов?

GET и POST - два наиболее часто используемых метода HTTP-запроса. Обычно запросы GET используются для запроса веб-страниц, в то время как POST используется для отправки данных на веб-сервер, например, через веб-форму.

Совет: хотя они называются HTTP-методами, GET и POST также используются в HTTPS.

Одним из важных отличий является то, что любые параметры, включенные в запросы GET, включаются в сам URL, тогда как параметры в запросах POST являются частью тела запроса.

Например, URL-адрес запроса GET может выглядеть как «GET.php? параметр = значение », тогда как URL-адрес для запроса POST будет выглядеть как« POST.php », а затем в теле запроса будет установлено значение« параметр = значение ».

Одно из основных ответвлений этого заключается в том, что при запросе журнала веб-сервера запрошенный URL-адрес всегда регистрируется. Таким образом, для запросов GET параметры также регистрируются, в случае запросов POST, хотя значения не регистрируются, поскольку не регистрируется тело запроса. Это особенно важно для форм, содержащих конфиденциальные данные, такие как пароли или PII. (Личная информация), поскольку использование POST означает, что эта информация не попадает в систему веб-серверы.

Другие различия между GET и POST включают тот факт, что запросы GET могут кэшироваться браузером или сторонними кешами, запросы GET включаются в историю браузера и могут быть помечены закладками. Запросы POST для сравнения никогда не кешируются, не сохраняются в истории браузера и не могут быть добавлены в закладки.

Можно настроить формы для использования запроса GET для отправки данных на веб-сервер, но это плохая идея, поскольку все эти факторы вступают в игру. Это особенно важно для конфиденциальных форм, таких как формы входа, поскольку, если бы этот запрос был зарегистрирован, он раскрыл бы пароль пользователя, и если ответ был кэширован сторонним лицом, он может позволить другим пользователям входить в учетную запись пользователя учетная запись.