Web浏览器是否总是在域名后发送一个斜杠?

时间:2010-04-05 21:50:48

标签: http browser

浏览器如何向与尾随斜杠相关的主机发送网址是否存在一致性和/或标准?

意思是,如果我在网络浏览器的地址栏中输入http://example.com,浏览器是否会添加一个尾部斜杠(http://example.com/)?

4 个答案:

答案 0 :(得分:29)

从浏览器发送到服务器的HTTP请求不包括域名,只包括“路径”部分(从域名后面的第一个斜杠开始)。由于路径不能为空,因此在这种情况下会发送/

网站根目录的示例GET请求可能是:

GET / HTTP/1.0

上面的/不能省略。

答案 1 :(得分:16)

正如RFC 2616所说:

  

3.2.2 http URL

     

“http”方案用于定位   通过HTTP的网络资源   协议。本节定义了   特定于方案的语法和
  http URL的语义。

     

http_URL =“http:”“//”主持人[“:”   端口] [abs_path [“?”查询]]

     

如果端口为空或未给出,   假设端口80。语义
  是已识别的资源是   位于服务器上听   该端口上的TCP连接   host,以及的Request-URI   资源是abs_path(第5.1.2节)。   在URL中使用IP地址   应该尽可能避免   (参见RFC 1900 [24])。 如果   abs_path不存在于URL中   用作a时必须以“/”表示   资源的请求URI (部分   5.1.2)。如果代理收到的主机名不是完全限定的   域名,它可以添加其域名   收到的主机名。如果一个   代理收到完全合格的   域名,代理不得改变   主机名。

了解详情:http://www.faqs.org/rfcs/rfc2616.html#ixzz0kGbpjYWa

  

5.1.2请求URI
  ...
  例如,希望检索的客户端   资源直接来自于   源服务器将创建TCP   连接到主机的端口80   “www.w3.org”并发送信息:

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

其次是剩下的   请求。 注意绝对路径   不能为空;如果没有   必须给出原始URI   as“/”(服务器根目录)。

了解详情:http://www.faqs.org/rfcs/rfc2616.html#ixzz0kGcaRbqU

答案 2 :(得分:9)

请注意,当URL包含路径元素时,这是very different问题:

http://example.com/dir

不同的网址而不是

http://example.com/dir/

并且实际上可能包含不同的内容,并且具有不同的搜索引擎排名。

答案 3 :(得分:0)

就协议而言,http://example.com/somethinghttp://example.com/something/完全不同。如果以这种方式实现,某些服务器可能会将您从一个重定向到另一个服务器。

对于纯域名,它始终发送以斜杠结尾的请求。 (域名本身不包含在HTTP请求的路径部分中,就像Greg Hewgill和其他人写的那样。但是,它包含在标题中。)

您可以使用Fiddler或WireShark等工具进行检查。