对于所有客户,http://example.com//的处理方式与http://example.com/不同吗?

时间:2014-04-02 21:04:25

标签: html http url browser client

问题:通常会为网址http://example.com//http://example.com/获取相同的HTML网站(第一个网址最后有两个斜杠)。我想,我可以通过某种方式配置我的网站,提供的HTML在两个网址之间有所不同。这总是由所有客户端正确处理,即所有客户端是否在第一行中以GET // HTTP/1.1开始发送获取请求? (或者是否有客户/浏览器使用一个斜杠缩短http://example.com//GET / HTTP/1.1的请求?)

我的问题背景:我想使用hash fragement #!实现我网站的JavaScript版本。在此版本中,应动态加载整个内容。我认为像http://example.com/foo/bar/这样的网址应该成为http://example.com//#!/foo/bar/(最后的短网址),我在http://example.com//下提供此网站版本的JavaScript(与http://example.com/不同)。我只是问自己,这种方法在理论上是否可能与今天的URL标准有关。

1 个答案:

答案 0 :(得分:2)

以下是一些结果,我到目前为止:

  • Firefox (Version 28.0) YES(发送两个斜杠)
  • curl(因此我希望程序使用libcurl): YES(发送两个斜杠)
  • wget YES(发送两个斜杠)
  • Chromium (Version 33.0) YES(发送两个斜杠)

不幸的是,我现在无法访问更多浏览器。我会更新这个答案。但如果你能在同时发布一些更多的经验,那将会很好; - )

评论@Kevin B:

  

绝对建议在运行它之前进行跨浏览器/操作系统测试,我过去曾遇到过链接到图像的问题,例如错误的//而不是/在路径中使用chrome而不是firefox。< / p>