24

HTTPは、8つのメソッド(「動詞」と呼ばれることもあります)を定義します。

それぞれの例を見つけて、テストして理解を深めるのを手伝ってもらえますか?

4

2 に答える 2

58

まず、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
    

これらの例が正しいかどうかは正確にはわかりません。自由に修正してください。

于 2009-04-19T15:51:36.973 に答える
13

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
  • -X オプションを使用すると、GET 以外の HTTP メソッドを指定できます。
于 2009-04-19T15:34:52.567 に答える