САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ

HTTP Методы



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


Что такое HTTP?

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

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

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

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


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

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

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

Метод GET

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

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

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

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

Метод POST

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

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

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

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

Сравнение GET и POST

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

  GET POST
Возврат Кнопка/Перезагрузка Безвредный Данные будут повторно отправлены (браузер должен предупредить пользователя о том, что данные будут повторно отправлены)
Закладка Могут быть закладки Не могут быть закладки
Кэширование Может быть кэширован Не кэшировать
Тип кодировки application/x-www-form-urlencoded application/x-www-form-urlencoded или multipart/form-data. Использовать кодировку для двоичных данных
История Параметры остаются в истории браузера Параметры не сохраняются в истории браузера
Ограничения на длину данных Да, при отправке данных метод 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