Методы запроса HTML
- Предыдущая страница Сообщение HTTP
- Следующая страница Клавиатурные комбинации
Что такое HTTP?
Гипертекстовый передаточный протокол (Hypertext Transfer Protocol, сокращенно HTTP) предназначен для обеспечения связи между клиентом и сервером.
HTTP действует как протокол запроса-ответ между клиентом и сервером.
Пример: клиент (браузер) отправляет HTTP-запрос на сервер; затем сервер возвращает ответ клиенту. Ответ содержит информацию о состоянии запроса, а также может содержать запрашиваемое содержимое.
Метод HTTP
- GET
- POST
- Метод PUT
- Метод HEAD
- Метод DELETE
- Метод PATCH
- Метод OPTIONS
Два самых常用的 метода: GET и POST.
Метод GET
GET используется для запроса данных из указанного ресурса.
GET является одним из самых распространенных методов HTTP.
Обратите внимание, что строка запроса (пара имя/значение) отправляется в URL запроса GET:
/test/demo_form.php?name1=value1&name2=value2
Несколько других комментариев о запросах GET:
- Запрос GET может быть кэширован
- Запрос GET сохраняется в истории браузера
- Запрос GET может быть сохранен как закладка
- Запрос GET не должен использоваться для обработки конфиденциальных данных
- Запрос GET имеет ограничение по длине
- Запрос GET должен использоваться только для получения данных (не для изменения)
Метод POST
POST используется для отправки данных на сервер для создания/обновления ресурса.
Данные, отправленные на сервер через POST, хранятся в теле запроса HTTP:
POST /test/demo_form.php HTTP/1.1 Host: codew3c.com name1=value1&name2=value2
POST является одним из самых распространенных методов HTTP.
Несколько других комментариев о запросах POST:
- Запрос POST не кэшируется
- Запрос POST не сохраняется в истории браузера
- Запрос POST не может быть сохранен как закладка
- Запрос POST не имеет требований к длине данных
Метод PUT
PUT используется для отправки данных на сервер для создания/обновления ресурса.
Разница между POST и PUT заключается в том, что запрос PUT является идентичным (идентичным). То есть, многократное вызывание одного и того же запроса PUT всегда будет производить один и тот же результат. Напротив, повторное вызывание запроса POST имеет побочный эффект создания одного и того же ресурса несколько раз.
Метод HEAD
HEAD почти идентичен GET, но без тела ответа.
Иными словами, если GET /users возвращает список пользователей, то HEAD /users отправит тот же запрос, но не вернет список пользователей.
Запрос HEAD полезен для проверки содержимого, которое вернет запрос 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. |
- Предыдущая страница Сообщение HTTP
- Следующая страница Клавиатурные комбинации