ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

HTML Ссылки

HTML по Алфавиту HTML по Категориям HTML Атрибуты Тегов HTML Атрибуты Глобал HTML Атрибуты Событий HTML Цвета HTML Холсты HTML Аудио / Видео HTML Наборы символов HTML DOCTYPEs HTML Кодирование URL HTML Языковые коды HTML Коды стран HTTP Ответы сервера HTTP Методы PX в EM конвертер Горячие клавиши



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


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


Что такое HTTP?

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

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

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

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


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

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

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

Метод Get

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

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

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

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

Метод POST

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

POST /test/demo_form.php HTTP/1.1
Host: html5css.ru
name1=value1&name2=value2

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

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


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

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


Никогда не используйте Get при отправке паролей или другой конфиденциальной информации!
  GET POST
Кнопка возврата/перезагрузка Безвредны Данные будут повторно отправлены (браузер должен предупредить пользователя о том, что данные будут повторно отправлены)
Закладка Можно закладка Не может быть Закладка
Кэшированные Может кэшироваться Не кэшируется
Тип кодировки application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Использование многокомпонентной кодировки для двоичных данных
Истории Параметры остаются в журнале обозревателя Параметры не сохраняются в журнале обозревателя
Ограничения по длине данных Да, при отправке данных метод Get добавляет данные в URL-адрес; и длина URL ограничена (максимальная длина URL составляет 2048 символов) Без ограничений
Ограничения типа данных Разрешены только символы ASCII Никаких ограничений. Двоичные данные также разрешены
Безопасности Get менее безопасен по сравнению с POST, поскольку отправляемые данные являются частью URL-адреса
POST немного безопаснее, чем Get, поскольку параметры не сохраняются в журнале обозревателя или в журналах веб-сервера
Видимость Данные видны всем в URL Данные не отображаются в URL-адресе

Другие методы HTTP-запросов

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

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