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

HTML Справочник

HTML Теги по алфавиту HTML Теги по категории HTML Поддержка браузеров HTML Атрибуты HTML Глобальные атрибуты HTML Атрибуты событий HTML Цвета HTML Canvas HTML Аудио/Видео HTML Наборы символов HTML Doctype HTML URL кодирование HTML Коды языков HTML Коды стран HTTP Сообщения HTTP Методы PX в EM Конвертер Горячие клавиши


HTML5. W3Schools на русском. Полный справочник тегов

Ua En Es De Fr

HTTP Методы запроса


Что такое HTTP?

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

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

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

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


HTTP Методы

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS
  • CONNECT
  • TRACE

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

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


Метод GET

GET — используется для запроса данных от указанного ресурса.

GET — один из наиболее распространённых методов HTTP.

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

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

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

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

Метод POST

POST используется для отправки данных на сервер для создания/обновления ресурса.

Данные, отправленные на сервер с помощью POST, сохраняются в теле HTTP‑запроса:

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

POST является одним из наиболее распространённых методов HTTP.

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

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

Метод PUT

PUT используется для отправки данных на сервер для создания/обновления ресурса.

Разница между POST и PUT заключается в том, что PUT‑запросы являются идемпотентными. То есть вызов одного и того же PUT‑запроса несколько раз всегда приводит к одному и тому же результату. Напротив, повторный вызов POST‑запроса имеет побочные эффекты от создания одного и того же ресурса несколько раз.


Метод HEAD

HEAD почти идентичен GET, но без тела ответа.

Другими словами, если GET/пользователи возвращает список пользователей, то HEAD/пользователи сделает такой же запрос, но не вернёт список пользователей.

Запросы HEAD полезны для проверки того, что будет возвращено запросом GET, перед тем как фактически выполнить запрос GET, например, перед загрузкой большого файла или тела ответа.


Метод DELETE

Метод DELETE удаляет указанный ресурс.


Метод OPTIONS

Метод OPTIONS описывает параметры связи для целевого ресурса.


Сравнение 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