HTTP - 方法

❮ 上一节

下一节 ❯

HTTP - 方法

下面定义了 HTTP/1.1 的常用方法集,并且可以根据需要扩展该集。 这些方法名称区分大小写,并且必须以大写形式使用。

S.N.

方法和说明

1

GETGET 方法用于使用给定 URI 从给定服务器检索信息。 使用 GET 的请求应该只检索数据,而不应该对数据产生其他影响。

2

HEAD与 GET 相同,但仅传输状态行和标头部分。

3

POSTPOST请求用于使用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

Hello, World!

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

针对上述 HEAD 请求的服务器响应如下:

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

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

Request Processed Successfully

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

Hello, World!

服务器会将给定的实体主体存储在 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

The file was created.

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

URL deleted.

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 方法

客户端使用 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)

❮ 上一节

下一节 ❯