Http-methods

提供:Dev Guides
移動先:案内検索

HTTP-メソッド

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

S.N. Method and Description
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をフェッチします。

GET/hello HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.finddevguides.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に関するヘッダー情報をフェッチします。

HEAD/hello HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.finddevguides.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.finddevguides.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 に保存するようサーバーに要求します。

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

サーバーは指定されたエンティティ本体を hello ファイルに保存し、次の応答をクライアントに送信します。

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 を削除するように要求します。

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

サーバーは上記のファイル hello を削除し、次の応答をクライアントに送信します。

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サーバーへのネットワーク接続を確立します。 次の例では、ホストfinddevguides.comで実行されているWebサーバーとの接続を要求します。

CONNECT www.finddevguides.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メソッド

OPTIONSメソッドは、WebサーバーでサポートされているHTTPメソッドやその他のオプションを見つけるためにクライアントによって使用されます。 クライアントは、OPTIONSメソッドのURL、またはサーバー全体を参照するアスタリスク(*)を指定できます。 次の例は、finddevguides.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.finddevguides.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.finddevguides.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)