English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

HTML справочник

Полный список HTML-тегов

Методы HTTP GET и POST

Два самых常用的 метода HTTP: GET и POST.

Что такое HTTP?

Цель дизайна протокола HTTP (HyperText Transfer Protocol) - обеспечить коммуникацию между клиентом и сервером.

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

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

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

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

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

  • GET - Запрашиваются данные из указанного ресурса.

  • POST - Подается данные для обработки на указанный ресурс.

Метод GET

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

/run/demo-form.php?name1=value1&name2=value2

Другие комментарии о запросах GET:

  • Запросы GET могут быть сохранены в кэше.

  • Запросы GET будут сохранены в истории браузера.

  • Запросы GET могут быть сохранены как закладки.

  • Запросы GET не должны использоваться для обработки конфиденциальных данных.

  • Запросы GET имеют ограничение по длине.

  • Запросы GET должны использоваться только для получения данных.

Метод POST

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

POST /run/demo-form.php HTTP/1.1
Host: oldtoolbag.com
name1=value1&name2=value2

Другие комментарии о запросах POST:

  • Запросы POST не будут сохранены в кэше.

  • Запросы POST не будут сохранены в истории браузера.

  • Запросы POST не могут быть сохранены как закладки

  • Запросы POST не имеют требований к длине данных.

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

Ниже приведена таблица, сравнивающая два метода HTTP: GET и POST.

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

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

Ниже приведена таблица с другими HTTP методами запросов:

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