Advertisement
AlexNovoross87

HTTP METHODS

Dec 27th, 2024
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.56 KB | None | 0 0
  1. GET
  2. Метод GET служит для получения ресурса, URI которого задаётся в первой строке запроса. URI может:
  3. • быть путём к файлу, содержимое которого должен передать сервер,
  4. • ссылаться на динамически генерируемые ресурсы, вроде страницы с результатами поиска.
  5. Примеры GET-запросов:
  6. Скопировать код
  7. GET /images/image1.png HTTP/1.1
  8. GET /search?q=c%2B%2B HTTP/1.1
  9. Ответ на GET-запрос может быть закэширован браузером или промежуточным прокси-сервером. Поэтому вместо отправки запроса к конечному серверу клиенту могут вернуться закэшированные данные.
  10. Тело GET-запроса не имеет определённой семантики, и некоторые реализации клиентов и серверов воспринимают GET-запросы с телом как некорректные.
  11.  
  12.  
  13. HEAD
  14. Метод HEAD идентичен методу GET с той разницей, что сервер отправляет только заголовки. Содержимое заголовков в ответе сервера должно совпадать с содержимым заголовков в ответе на GET-запрос к этому же ресурсу. Метод HEAD используется, чтобы получить метаинформацию о ресурсе без передачи самого ресурса. Например, чтобы проверить доступность гиперссылок или валидность закэшированных ранее данных.
  15. Как и метод GET, HEAD-запрос не должен иметь тела.
  16.  
  17.  
  18. POST
  19. Метод POST используется для передачи на сервер объекта, закодированного в теле запроса.
  20. То, как сервер поступит с переданным ему объектом, зависит от URI в строке запроса. Например, запрос POST /users HTTP/1.1 может создать новую учётную запись пользователя, а POST /users/mail HTTP/1.1 — отправить письмо от имени текущего пользователя.
  21. Пример POST-запроса, который отправляется типичной формой авторизации:
  22. POST /login HTTP/1.1
  23. Content-Length: 38
  24. Content-Type: application/x-www-form-urlencoded
  25. Host: mysite.com
  26. login=john.doe&password=I+love+c%2B%2B
  27.  
  28. В этом запросе на URI /login домена mysite.com передаётся запрос методом POST. Тело запроса имеет тип application/x-www-form-urlencoded длиной 38 байт. В теле запроса закодированы поля формы login со значением john doe и password со значением I love c++. Тело с типом application/x-www-form-urlencoded содержит пары вида: поле=значение, разделяемые символом &. Пробелы кодируются символом +, а спецсимволы — в виде последовательностей из символа %, за которым следует код символа в шестнадцатиричной системе счисления.
  29.  
  30. PUT
  31. Метод PUT передаёт на сервер объект, содержимое которого располагается в теле запроса. В ответ на этот запрос сервер должен создать или модифицировать ресурс, располагающийся по адресу, указанному в URI-строке запроса. Разница между методами PUT и POST в том, как интерпретируется URI-строка. В методе PUT URI указывает на ресурс, подлежащий созданию или модификации. А в методе POST указывается URI объекта, способного обработать запрос. Ответы сервера на запросы, отправленные методом PUT, не кэшируются.
  32.  
  33. DELETE
  34. Метод DELETE просит сервер удалить ресурс по указанному URI. Удаление ресурса может занимать длительное время, поэтому даже успешный ответ со стороны сервера не гарантирует, что объект был удалён. Он лишь информирует клиента, что процесс удаления запущен.
  35. Несмотря на то, что HTTP допускает наличие тела в DELETE-запросе, некоторые реализации HTTP-клиентов считают такие запросы невалидными, а реализации HTTP-серверов игнорируют данные, которые передаются в теле запроса. Поэтому следует проектировать сервер так, чтобы DELETE-запросы принимали данные в URI-строке запроса, а не в его теле.
  36.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement