Два наиболее часто используемые методы HTTP являются: GET и POST.
Что такое HTTP?
Протокол передачи гипертекста (HTTP) предназначена для обеспечения связи между клиентами и серверами.
HTTP работает в качестве протокола запроса-ответа между клиентом и сервером.
Веб-браузер может быть клиентом, а приложение на компьютере, на котором размещен веб-сайт может быть сервером.
Пример: клиент (браузер) подает запрос HTTP на сервер; то сервер возвращает ответ клиенту. Ответ содержит информацию о состоянии запроса и может также содержать запрошенное содержимое.
Два HTTP методы запроса: GET и POST
Два часто используемые методы для запроса-ответа между клиентом и сервером: GET и POST.
- GET - запрашивает данные из указанного ресурса
- POST - Отправляет данные, подлежащие обработке для указанного ресурса
Метод GET
Обратите внимание , что строка запроса (пары имя / значение) передается в URL запроса GET:
/test/demo_form.asp?name1=value1&name2=value2
Некоторые другие заметки о запросах GET:
- GET запросы могут кэшироваться
- GET запросы остаются в истории браузера
- GET запросы могут быть закладкой
- не получать запросы не должны использоваться при работе с конфиденциальными данными
- GET запросы имеют ограничения длины
- GET запросы должны быть использованы только для получения данных
Метод POST
Обратите внимание , что строка запроса (пары имя / значение) передается в теле HTTP-сообщение запроса POST:
POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2
Некоторые другие замечания по запросам POST:
- POST запросы никогда не кэшируются
- POST запросы не остаются в истории браузера
- запросы POST не может быть закладкой
- POST запросы не имеют ограничений по длине данных
Сравнить GET vs. POST
В следующей таблице сравниваются два метода HTTP: GET и POST.
ПОЛУЧИТЬ | ПОСЛЕ | |
---|---|---|
Кнопка BACK / Reload | безвредный | Данные будут представлены вновь (браузер должен предупредить пользователя, что данные собираются быть повторно представлены) |
Отмеченный | Может быть закладкой | Не может быть закладкой |
Сохранено в кэше | Может быть кэшируются | Не кэшировать |
Тип кодирования | применение / х-WWW-форм-urlencoded | применение / х-WWW-форм-urlencoded или многокомпонентные / form-данных. Используйте многослойную кодировки для двоичных данных |
история | Параметры остаются в истории браузера | Параметры не сохраняются в истории браузера |
Ограничения по длине данных | Да, используемый при передаче данных, метод 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 туннеля |