HTTP-请求方法
1 HTTP请求方法
对于HTTP/1.1协议,定义了一组通用的HTTP请求方法。可以根据要求扩展这些方法。这些方法的名称区分大小写,必须使用大写字母。
请求方法 | 说明 |
---|---|
GET | 请求指定的页面信息,并返回实体主体。 |
HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 |
POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
DELETE | 请求服务器删除指定的页面。 |
CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 |
OPTIONS | 允许客户端查看服务器的性能。 |
1.1 GET方法的示例
此方法用于使用请求的URL部分中的指定参数从Web服务器检索数据。这是用于文档检索的主要方法。使用GET方法获取index.htm的方法如下:
GET /index.html HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
Host: www.xnip.cn
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
以下是服务器对以上GET请求的响应:
HTTP/1.1 200 OK
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
Last-Modified: Mon, 2 Dec 2019 15:40:30 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 55
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>First Program</h1>
</body>
</html>
1.2 HEAD方法的示例
此方法与GET方法相同。但是在HEAD方法中,服务器使用响应行和响应头进行回复,而没有实体主体。使用HEAD方法来获取有关index.htm的方法如下:
HEAD /index.html HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
Host: www.xnip.cn
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
以下是针对上述HEAD请求的服务器响应:
HTTP/1.1 200 OK
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
Last-Modified: Mon, 2 Dec 2019 15:40:30 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 55
Content-Type: text/html
Connection: Closed
这个示例中,我们可以看到服务器在请求之后没有发送任何数据。
1.3 POST方法的示例
此方法用于将一些数据发送到服务器,例如,更新服务器的文件等。使用POST方法将表单数据发送到服务器的方法如下:
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
Host: www.xnip.cn
Content-Type: text/xml; charset=utf-5
Content-Length: 55
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<"xml version="1.0" encoding="utf-5">
<string xmlns=" https://www.xnip.cn/">string</string>
服务器端process.cgi的脚本处理传递的数据并发送如下响应:
HTTP/1.1 200 OK
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
Last-Modified: Mon, 2 Dec 2019 15:40:30 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 55
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1> Request Processed Successfully</h1>
</body>
</html>
1.4 PUT方法的示例
此方法请求服务器在给定URL指定的位置存储包含的实体主体。以下示例请求服务器将给定的实体正文保存在服务器根目录中的index.html中。
PUT /index.html HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
Host: www.xnip.cn
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 150
<html>
<body>
<h1> First Program</h1>
</body>
</html>
在index.html文件中,服务器将存储给定的实体,并将以下响应发送回客户端:
HTTP/1.1 201 Created
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1> The file was created.</h1>
</body>
</html>
1.5 DELETE方法的示例
此方法请求服务器在给定URL指定的位置删除文件。下面的示例请求服务器删除服务器根目录下的index.html文件:
DELETE /index.html HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
Host: www.xnip.cn
Accept-Language: en-us
Connection: Keep-Alive
在上面的示例之后,服务器将删除index.html文件,并将响应发送回客户端,如下所示:
HTTP/1.1 200 OK
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>URL deleted</h1>
</body>
</html>
1.6 CONNECT方法的示例
客户端使用此方法。它通过HTTP建立到Web服务器的网络连接。以下示例请求与主机www.xnip.cn上运行的Web服务器的连接:
CONNECT www.xnip.cn HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
下面的示例展示与服务器建立连接,并将响应发送回客户端:
HTTP/1.1 200 Connection established
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
1.7 OPTIONS方法的示例
客户端使用此方法。它用于查找Web服务器支持的HTTP方法和其他选项。下面的示例请求在www.xnip.cn上运行的Web服务器支持的方法列表:
OPTIONS * HTTP/1.1
User-Agent: Mozilla/69.0 (compatible; MSIE5.01; Windows 10)
在下面的示例中,服务器将基于服务器的当前配置发送信息:
HTTP/1.1 200 OK
Date: Wed, 4 Dec 2019 5:15:40 GMT
Server: Apache/2.4. 41 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory