HTTP defines eight methods (sometimes referred to as "verbs")Где найти примеры методов HTTP?
Можете ли вы помочь мне найти примеры для каждого из них, чтобы я мог лучше их протестировать и понять?
HTTP defines eight methods (sometimes referred to as "verbs")Где найти примеры методов HTTP?
Можете ли вы помочь мне найти примеры для каждого из них, чтобы я мог лучше их протестировать и понять?
Прежде всего, вы должны заглянуть в HTTP 1.1 specification, особенно раздел method definitions.
ВАРИАНТЫ Получить информацию о том, как сервер позволяет общаться.
Запрос:
OPTIONS * HTTP/1.1
Host: example.com
Ответ:
HTTP/1.1 200 OK
Date: …
Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE
Content-Length: 0
GET Получить ресурс.
Запрос:
GET /foo/bar HTTP/1.1
Host: example.com
Ответ:
HTTP/1.1 200 OK
Date: …
Content-Type: text/html;charset=utf-8
Content-Length: 12345
<!DOCTYPE …
ГОЛОВА Как GET, но возвращает только заголовок HTTP.
Запрос:
HEAD /foo/bar HTTP/1.1
Host: example.com
Ответ:
HTTP/1.1 200 OK
Date: …
Content-Type: text/html;charset=utf-8
Content-Length: 12345
POST Создать новый ресурс.
Запрос:
POST /foo/bar HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
action=addentry&subject=Hello,%20World
Ответ:
HTTP/1.1 201 Created
Date: …
Content-Length: 0
Location: http://example.com/foo/bar
PUT Отправка данных на сервер.
DELETE Удалить существующий ресурс.
TRACE Верните заголовки запроса, отправленные клиентом.
Запрос:
TRACE /foo/bar HTTP/1.1
Host: example.com
Ответ:
HTTP/1.1 200 OK
Date: …
Content-Length: 17
Host: example.com
Я не знаю точно, если эти примеры являются правильными. Не стесняйтесь исправить их.
очень хороший ответ :) – dfa
и как написать метод put –
Также как проверить эти методы? напишите им, где получить ответ? –
Вы можете поэкспериментировать с различными методами HTTP с помощью инструмента командной строки cURL. Например:
curl --head http://www.google.co.uk
HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Date: Sun, 19 Apr 2009 15:33:24 GMT
Expires: -1
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=a2a414b9a84c8ffd:TM=1240155204:LM=1240155204:S=16kZnqzeSxIJT3jv; expires=Tue, 19-Apr-2011 15:33:24 GMT; path=/; domain=.google.co.uk
Server: gws
Transfer-Encoding: chunked
Хороший намек, + 1. Обратите внимание, что не все браузеры поддерживают все методы. Вот почему, например, Ruby on Rails фактически использует только GET и POST, а не PUT и DELETE. Если curl не поддерживает все методы, то можно даже использовать telnet для их ручного вызова: см., Например, http://tonycode.com/wiki/index.php?title=Making_HTTP_requests_via_telnet – Arjan
Согласен, я сделал это с Telnet раньше , –
Я думаю, что чтение RFC 2616 объясняет все: http://www.faqs.org/rfcs/rfc2616.html – Arjan
ИМХО абсолютно правильный вопрос, количество авитаций на вопрос и принятое ответное шоу, что ясно – Tim