四、Http 请求

下面阐述一下Http的请求消息,Http客户端发送Http请求给服务器,发送的表单信息格式如下:

  • A Request-line 请求行
  • Zero or more header (General|Request|Entity) fields followed by CRLF
  • An empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header fields
  • Optionally a message-body

请求行 Request-Line  

请求行以方法令牌开始,后跟Request-URI和协议版本,并以CRLF结尾。 元素由空格SP字符分隔。

Request-Line = Method SP Request-URI SP HTTP-Version CRLF

下面我们对请求行的每个参数进行分析一下。

请求方法 Method

请求方法指示对由给定的Request-URI标识的资源执行的方法。 该方法区分大小写,应始终以大写形式提及。 下表列出了HTTP / 1.1中支持的所有方法。

序号 方法及描述
1 GET

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

2 HEAD

与GET相同,但它只传输状态行和标题部分。

3 POST

POST请求用于使用HTML表单将数据发送到服务器,例如客户信息,文件上传等。

4 PUT

向指定资源位置上传其最新内容,例如:客户端对一个URI发送一个消息,服务器在这个URI下如果已经有了一个消息,那么此刻服务器应该替换成客户端重新提交的,也由此保证了PUT的幂等性。如果服务器之前没有对应的消息,那么服务器就应该将客户端提交的放在这个URI上。

 

5 DELETE

请求服务器删除指定的页面。

6 CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

7 OPTIONS

描述目标资源的通信选项。允许客户端查看服务器的性能。

8 TRACE

回显服务器收到的请求,主要用于测试或诊断。