HTTP-メソッド

HTTP / 1.1の一般的なメソッドのセットを以下に定義します。このセットは、要件に基づいて拡張できます。これらのメソッド名では大文字と小文字が区別されるため、大文字で使用する必要があります。

SN 方法と説明
1 GET

GETメソッドは、指定されたURIを使用して指定されたサーバーから情報を取得するために使用されます。GETを使用するリクエストは、データのみを取得する必要があり、データに他の影響を与えることはありません。

2 HEAD

GETと同じですが、ステータス行とヘッダーセクションのみを転送します。

3 POST

POSTリクエストは、HTMLフォームを使用して、顧客情報やファイルのアップロードなどのデータをサーバーに送信するために使用されます。

4 PUT

ターゲットリソースの現在のすべての表現をアップロードされたコンテンツに置き換えます。

5 DELETE

URIによって指定されたターゲットリソースの現在の表現をすべて削除します。

6 CONNECT

指定されたURIで識別されるサーバーへのトンネルを確立します。

7 OPTIONS

ターゲットリソースの通信オプションについて説明します。

8 TRACE

ターゲットリソースへのパスに沿ってメッセージループバックテストを実行します。

GETメソッド

GETリクエストは、リクエストのURL部分にパラメータを指定することにより、Webサーバーからデータを取得します。これは、ドキュメントの取得に使用される主な方法です。次の例では、GETメソッドを使用してhello.htmをフェッチします。

GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

上記のGET要求に対するサーバーの応答は次のようになります。

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

HEADメソッド

HEADメソッドは機能的にGETと似ていますが、サーバーが応答行とヘッダーで応答しますが、エンティティ本体は応答しません。次の例では、HEADメソッドを使用してhello.htmに関するヘッダー情報をフェッチします。

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

上記のGET要求に対するサーバーの応答は次のようになります。

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

ここで、サーバーはヘッダーの後にデータを送信しないことがわかります。

POSTメソッド

POSTメソッドは、ファイルの更新やフォームデータなど、サーバーにデータを送信する場合に使用されます。次の例では、POSTメソッドを使用してフォームデータをサーバーに送信します。このデータはサーバーによって処理されます。 process.cgiと最後に応答が返されます:

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>

サーバーサイドスクリプトprocess.cgiは、渡されたデータを処理し、次の応答を送信します。

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Request Processed Successfully</h1>
</body>
</html>

PUTメソッド

PUTメソッドは、指定されたURLで指定された場所に含まれるエンティティ本体を格納するようにサーバーに要求するために使用されます。次の例では、指定されたエンティティ本体をに保存するようサーバーに要求しますhello.htm サーバーのルート:

PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

サーバーは、指定されたエンティティ本体をに格納します hello.htm ファイルを作成し、次の応答をクライアントに送り返します。

HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>The file was created.</h1>
</body>
</html>

DELETEメソッド

DELETEメソッドは、指定されたURLで指定された場所にあるファイルを削除するようサーバーに要求するために使用されます。次の例では、指定されたファイルを削除するようサーバーに要求しますhello.htm サーバーのルート:

DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive

サーバーは言及されたファイルを削除します hello.htm そして、次の応答をクライアントに送り返します。

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>URL deleted.</h1>
</body>
</html>

CONNECT方式

CONNECTメソッドは、HTTPを介してWebサーバーへのネットワーク接続を確立するためにクライアントによって使用されます。次の例では、ホストtutorialspoint.comで実行されているWebサーバーとの接続を要求します。

CONNECT www.tutorialspoint.com HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

サーバーとの接続が確立され、次の応答がクライアントに返送されます。

HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)

オプションメソッド

OPTIONSメソッドは、WebサーバーでサポートされているHTTPメソッドやその他のオプションを見つけるためにクライアントによって使用されます。クライアントは、OPTIONSメソッドのURLを指定するか、サーバー全体を参照するためにアスタリスク(*)を指定できます。次の例では、tutorialspoint.comで実行されているWebサーバーでサポートされているメソッドのリストを要求しています。

OPTIONS * HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

サーバーは、サーバーの現在の構成に基づいて情報を送信します。次に例を示します。

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory

TRACEメソッド

TRACEメソッドは、HTTPリクエストの内容をリクエスターにエコーバックするために使用されます。リクエスターは、開発時にデバッグ目的で使用できます。次の例は、TRACEメソッドの使用法を示しています。

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

サーバーは、上記の要求に応答して次のメッセージを送信します。

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39

TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)