问题:通常情况下,URL http://example.com//
和 http://example.com/会得到相同的 HTML 站点
(第一个 URL 末尾有两个斜杠)。我想,我可以通过某种方式配置我的网站,使两个 URL 之间提供的 HTML 不同。所有客户端是否始终正确处理此问题,即所有客户端是否都发送第一行以 GET//HTTP/1.1
开头的 get 请求? (或者是否有客户端/浏览器将 http://example.com//
的请求缩短为 GET/HTTP/1.1
用一个斜杠?)
我的问题背景:我想使用 hash fragement 实现我的网站的 JavaScript 版本#!
。在此版本中,整个内容应动态加载。我认为像 http://example.com/foo/bar/
这样的 URL 应该变成 http://example.com//#!/foo/bar/
(最后是短网址),我在 http://example.com//
下提供此网站版本的 JavaScript(与 http://example.com/
不同) >)。我只是问自己,对于当今的 URL 标准来说,这种方法在理论上是否可行。
最佳答案
以下是我到目前为止得到的一些结果:
Firefox(版本 28.0)
:是(发送两个斜杠)curl
(因此我希望也使用libcurl
进行编程):YES(发送两个斜杠)wget
:是(发送两个斜杠)Chromium(版本 33.0)
:是(发送两个斜杠)
不幸的是,我现在无法访问更多浏览器。我会更新这个答案。但如果您能同时发布更多经验,那就太好了;-)
@Kevin B 的评论:
Definitely suggest cross-browser/os testing this before running with it, i've had issues in the past with linking to images for example with an erroneous // instead of / in the path working in chrome but not firefox.
关于html - 对于所有客户端,http ://example. com//的处理方式是否与 http ://example. com/不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823007/