Основные методы http-запросов: (1)
GET — запрашивает представление ресурса. Запросы с использованием этого метода могут только извлекать данные.
HEAD — запрашивает ресурс так же, как и метод GET, но без тела ответа.
POST — используется для отправки сущностей к определённому ресурсу. Часто вызывает изменение состояния или какие-то побочные эффекты на сервере.
PUT — заменяет все текущие представления ресурса данными запроса.
DELETE — удаляет указанный ресурс.
CONNECT — устанавливает «туннель» к серверу, определённому по ресурсу.
OPTIONS — используется для описания параметров соединения с ресурсом.
TRACE — выполняет вызов возвращаемого тестового сообщения с ресурса.
PATCH — используется для частичного изменения ресурса.
COPY — создает дубликат исходного ресурса, идентифицированного Request-URI, в целевом ресурсе, идентифицированном URI в заголовке Destination. Должен присутствовать заголовок назначения. Точное поведение метода COPY зависит от типа исходного ресурса. (5)
LINK — связывает один объект с другим объектом (устанавливает отношения между двумя объектами)
UNLINK — этот метод отменяет связь одного объекта с другим (убирает взаимосвязь между объектами).
PURGE — он не определен в HTTP RFC (которые допускают использование пользовательских методов помимо стандартных методов). Некоторые HTTP-серверы и системы кеширования действительно реализуют PURGE, например Squid и Varnish (6) — для удаления объекта из кеша (7)
LOCK — Метод LOCK используется для снятия блокировки любого типа доступа и обновления существующей блокировки. (5)
UNLOCK — снимает блокировку, идентифицированную маркером блокировки в заголовке запроса Lock-Token. Request-URI ДОЛЖЕН идентифицировать ресурс в рамках блокировки. (5)
PROPFIND — используется для извлечения свойств, хранящихся как XML, из веб-ресурса. Он также перегружен, чтобы можно было получить структуру коллекции (иерархия каталогов a.k.a.) удаленной системы. (…) Похоже, что PROPFIND отличается от HEAD тем, что данные свойств, хранящиеся как XML, возвращаются в теле сообщения (пакета) вместо попыток вернуть весь ресурс. (4)
VIEW — (…)
полный список из 39 методов — см. в (3):
Спецификация HTTP 1.1 определяет реестр методов протокола передачи гипертекста (HTTP). По состоянию на 2017-01 год отображается 39 записей: ACL, BASELINE-CONTROL, BIND, CHECKIN, CHECKOUT, CONNECT, COPY, DELETE, GET, HEAD, LABEL, LINK, LOCK, MERGE, MKACTIVITY, MKCALENDAR, MKCOL, MKREDIRECTREF, MKWORKSPACE, MOVE, OPTIONS, ORDERPATCH, PATCH, POST, PRI, PROPFIND, PROPPATCH, PUT, REBIND, REPORT, SEARCH, TRACE, UNBIND, UNCHECKOUT, UNLINK, UNLOCK, UPDATE, UPDATEREDIRECTREF, VERSION-CONTROL
Все указанные http-requests можно отослать через программу Postman, там есть выбор нужного метода:
Для отсылки http-requests в PHP можно использовать Guzzle — эта библиотека позволяет делать все запросы в удобной форме: (2)
$response = $client->get(‘http://httpbin.org/get’);
$response = $client->delete(‘http://httpbin.org/delete’);
$response = $client->head(‘http://httpbin.org/get’);
$response = $client->options(‘http://httpbin.org/get’);
$response = $client->patch(‘http://httpbin.org/patch’);
$response = $client->post(‘http://httpbin.org/post’);
$response = $client->put(‘http://httpbin.org/put’);
(1) https://developer.mozilla.org/ru/docs/Web/HTTP/Methods
(2) https://qna.habr.com/q/453513
(3) https://stackoverflow.com/questions/41411152/how-many-http-verbs-are-there/41411515#41411515
(4) https://sprosi.pro/questions/15984/dlya-chego-ispolzuetsya-metod-http-propfind
(5) https://webconcepts.info/concepts/http-method/UNLOCK
(6) https://stackoverflow.com/questions/25857508/what-is-the-http-method-purge
(7) https://wiki.squid-cache.org/SquidFaq/OperatingSquid#How_can_I_purge_an_object_from_my_cache.3F
Нет комментариев