HTTPは、8つのメソッド(「動詞」と呼ばれることもあります)を定義します。
それぞれの例を見つけて、テストして理解を深めるのを手伝ってもらえますか?
まず、HTTP 1.1 仕様、特にセクションメソッド定義を調べてください。
OPTIONS サーバーが許可する通信方法に関する情報を取得します。
リクエスト:
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 …
HEAD 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
これらの例が正しいかどうかは正確にはわかりません。自由に修正してください。
cURLコマンド ライン ツールを使用して、さまざまな HTTP メソッドを試すことができます。例えば:
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