GET
, единственный формат ответа —
HTML;
http://meteo-example.com/russia/petrozavodsk/thermo
.
Утилита curl
, запущенная с ключом -v
и URL в качестве
аргумента выводит отправленный HTTP-запрос, HTTP-ответ и тело
ответа.
$ curl -v http://webarch.cs.prv/welcome.html
Большинство современных браузеров имеют возможность отображения сетевой активности при загрузке страницы, в том числе детальное описание выполненных HTTP-запросов.
В Firefox/Chrome нажать F12, выбрать вкладку «Сеть».
HTTP-request = method SP request-target SP HTTP-version CRLF *( header-field CRLF ) CRLF [ message-body ]
$ curl -H "Accept-Language: en, ru" -v ya.ru … > GET / HTTP/1.1 > User-Agent: curl/7.32.0 > Host: ya.ru > Accept: */* > Accept-Language: en, ru …
HTTP-response = HTTP-version SP status-code SP reason-phrase CRLF *( header-field CRLF ) CRLF [ message-body ]
$ curl -H "Accept-Language: en, ru" -v ya.ru … < HTTP/1.1 200 Ok < Server: nginx < Date: Tue, 30 Sep 2014 07:20:33 GMT < Content-Type: text/html; charset=UTF-8 < Content-Length: 8128 < Connection: close < Cache-Control: no-cache,no-store,max-age=0,must-revalidate < Expires: Tue, 30 Sep 2014 07:20:34 GMT < Last-Modified: Tue, 30 Sep 2014 07:20:34 GMT < P3P: policyref="/w3c/p3p.xml", CP="NON DSP ADM DEV PSD IVDo OUR IND STP PHY PRE NAV UNI" < Set-Cookie: yandexuid=3005000001412061634; Expires=Fri, 27-Sep-2024 07:20:33 GMT; Domain=.ya.ru; Path=/ < X-Frame-Options: DENY < X-XRDS-Location: http://openid.yandex.ru/server_xrds/ …
HTTP метод — часть запроса, указывающая цель выполнения клиентом данного запроса и что ожидает получить клиент в случае успешного выполнения запроса. Подробнее см. RFC 7231, раздел 4.
Method | Description |
---|---|
GET | Transfer a current representation of the target resource. |
HEAD | Same as GET, but only transfer the status line and header section. |
POST | Perform resource-specific processing on the request payload. |
PUT | Replace all current representations of the target resource with the request payload. |
DELETE | Remove all current representations of the target resource. |
Method | Description |
---|---|
CONNECT | Establish a tunnel to the server identified by the target resource. |
OPTIONS | Describe the communication options for the target resource. |
TRACE | Perform a message loop-back test along the path to the target resource. |
Все реализации Веб-серверов должны поддерживать методы GET
и
HEAD
, остальные методы опциональны.
Код состояния — целое число, состоящее из трех цифр. Первая цифра указывает на класс кода состояния. Клиент не обязан «понимать» коды всех состояний сервера, но обязан «понимать» все классы кодов состояний. Подробнее см. RFC 7231, раздел 6.
1xx
(Informational): The request was received, continuing process
100 Continue
101 Switching Protocols
2xx
(Successful): The request was successfully received,
understood, and accepted
200 OK
201 Created
204 No Content
3xx
(Redirection): Further action needs to be taken in order to
complete the request
301 Moved Permanently
302 Found
304 Not Modified
4xx
(Client Error): The request contains bad syntax or cannot be
fulfilled
400 Bad Request
403 Forbidden
404 Not Found
405 Method Not Allowed
413 Payload Too Large
5xx
(Server Error): The server failed to fulfill an apparently
valid request
500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
Указывают специфику обработки запроса сервером.
Cache-Control: no-cache
).Expect: 100-continue
).Host: example.com
).Max-Forwards: 10
).Pragma: no-cache
).Range: bytes=500-999
).Действие, соответствующее методу запроса не будет применено к запрашиваемому ресурсу если не будут выполнены условия, заданные заголовками. Подробнее см. RFC 7232.
Предпочтения клиента по способу представления содержимого. Подробнее см. RFC 7231, раздел 3.4.1.
Подробнее см. RFC 7231, раздел 5.5.
Различные дополнения к коду состояния.
text/html
, application/javascript
).gzip
,
deflate
, compress
).Полезная нагрузка (payload) HTTP-сообщений содержит представление запрашиваемого ресурса, если это предполагается методом запроса и кодом состояния ответа.
Способы передачи полезной нагрузки внутри HTTP-сообщения:
chunked
, gzip
, compress
, deflate
;Заголовки сообщения, указывающие на способ передачи полезной нагрузки:
Range
.