关于http请求标准

时间:2011-05-18 06:30:56

标签: http

GET http://stackoverflow.com/questions HTTP/1.1
Host: stackoverflow.com

HTTP标准是否要求GET请求以绝对或相对地址提供?请求何时在代理中呢?

我问这个是因为我觉得它与Host信息重复。

3 个答案:

答案 0 :(得分:5)

GET / HTTP/1.1

是有效的请求行。完整路径不是必需的。

  

5.1.2 Request-URI

     

Request-URI是统一资源   标识符(第3.2节)和   标识要在其上的资源   申请。

   Request-URI    = "*" | absoluteURI | abs_path | authority
     

Request-URI的四个选项是   取决于的性质   请求。星号“*”表示   请求不适用于   特定资源,但服务器   本身,只有当它被允许时   使用的方法不一定适用   到资源。一个例子是

   OPTIONS * HTTP/1.1
     

当绝对要求时,必须使用absoluteURI表格   请求正在代理。   请求代理转发   请求或提供有效的服务   缓存,并返回响应。注意   代理可以转发请求   转到另一个代理或直接到   由absoluteURI指定的服务器。为了   要避免请求循环,代理必须   能够识别它的所有服务器   名称,包括任何别名,本地   变体和数字IP   地址。一个示例Request-Line会   是:

   GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
     

允许过渡到   将来所有请求中的absoluteURIs   HTTP的版本,所有HTTP / 1.1服务器   必须接受绝对的形式   请求,即使HTTP / 1.1客户端   只会在请求中生成它们   代理。

答案 1 :(得分:0)

您可以参考HTTP RFC获取此信息。

  

3.2.1一般语法

     

HTTP中的URI可以绝对形式或相对于某些形式表示      已知的基本URI [11],取决于它们的使用环境。

答案 2 :(得分:0)

不需要主机详细信息。相对路径就足够了