网络浏览器是否总是在域名后发送尾部斜杠?

问题描述 投票:0回答:4

浏览器如何将 URL 发送到与尾部斜杠相关的主机是否存在一致性和/或标准?

意思是,如果我在网络浏览器的地址栏中输入

http://example.com
,浏览器是否应该添加尾部斜杠(
http://example.com/
)?

http browser
4个回答
34
投票

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

/

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

获取/HTTP/1.0

上面的

/
不能省略。


18
投票

正如 RFC 2616 所说:

3.2.2 http URL

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

http_URL = "http:" "//" 主机 [ ":" 端口] [绝对路径[“?”查询]]

如果端口为空或未给出, 假定端口 80。语义
所识别的资源是 位于监听的服务器上 该端口上的 TCP 连接 主机,以及请求 URI 资源是abs_path(第5.1.2节)。 在 URL 中使用 IP 地址 应尽可能避免 (参见 RFC 1900 [24])。 如果 网址中不存在abs_path,它 当用作 资源的请求 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,必须给出 作为“/”(服务器根目录)。

了解更多:http://www.faqs.org/rfcs/rfc2616.html#ixzz0kGcaRbqU


10
投票

请注意,当 URL 包含路径元素时,这是一个“非常不同”的问题: http://example.com/dir

不同的URL http://example.com/dir/

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


0
投票
http://example.com/something

http://example.com/something/
有很大不同。如果以这种方式实现,某些服务器可能会将您从一个服务器重定向到另一个服务器。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.