Последние учебники веб-разработки
 

Методы HTTP: GET vs. POST


Два наиболее часто используемые методы HTTP являются: GET и POST.


Что такое HTTP?

Протокол передачи гипертекста (HTTP) предназначена для обеспечения связи между клиентами и серверами.

HTTP работает в качестве протокола запроса-ответа между клиентом и сервером.

Веб-браузер может быть клиентом, а приложение на компьютере, на котором размещен веб-сайт может быть сервером.

Пример: клиент (браузер) подает запрос HTTP на сервер; то сервер возвращает ответ клиенту. Ответ содержит информацию о состоянии запроса и может также содержать запрошенное содержимое.


Два HTTP методы запроса: GET и POST

Два часто используемые методы для запроса-ответа между клиентом и сервером: GET и POST.

  • GET - запрашивает данные из указанного ресурса
  • POST - Отправляет данные, подлежащие обработке для указанного ресурса

Метод GET

Обратите внимание , что строка запроса (пары имя / значение) передается в URL запроса GET:

/test/demo_form.asp?name1=value1&name2=value2

Некоторые другие заметки о запросах GET:

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

Метод POST

Обратите внимание , что строка запроса (пары имя / значение) передается в теле HTTP-сообщение запроса POST:

POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2

Некоторые другие замечания по запросам POST:

  • POST запросы никогда не кэшируются
  • POST запросы не остаются в истории браузера
  • запросы POST не может быть закладкой
  • POST запросы не имеют ограничений по длине данных

Сравнить GET vs. POST

В следующей таблице сравниваются два метода HTTP: GET и POST.

ПОЛУЧИТЬ ПОСЛЕ
Кнопка BACK / Reload безвредный Данные будут представлены вновь (браузер должен предупредить пользователя, что данные собираются быть повторно представлены)
Отмеченный Может быть закладкой Не может быть закладкой
Сохранено в кэше Может быть кэшируются Не кэшировать
Тип кодирования применение / х-WWW-форм-urlencoded применение / х-WWW-форм-urlencoded или многокомпонентные / form-данных. Используйте многослойную кодировки для двоичных данных
история Параметры остаются в истории браузера Параметры не сохраняются в истории браузера
Ограничения по длине данных Да, используемый при передаче данных, метод GET добавляет данные в URL-адрес; и длина URL ограничена (максимальная длина URL составляет 2048 символов) Нет ограничений
Ограничения по типу данных Только ASCII символы допускаются Нет ограничений. Бинарные данные также разрешено
Безопасность GET менее безопасна по сравнению с POST, поскольку данные, отправленные является частью URL

Никогда не используйте GET при отправке паролей или другой конфиденциальной информации!
POST немного безопаснее, чем GET, поскольку параметры не сохраняются в истории браузера или в журналах веб-сервера
видимость Данные видны всем пользователям в URL Данные не отображаются в URL

Другие способы запроса HTTP

В следующей таблице перечислены некоторые другие методы запроса HTTP:

метод Описание
HEAD То же самое, но не GET возвращает только HTTP-заголовки и не тело документа
PUT Загружает представление заданного URI
DELETE Удаляет указанный ресурс
OPTIONS Возвращает методы HTTP, что сервер поддерживает
CONNECT Преобразует соединение запроса в прозрачный TCP / IP туннеля