Html 是http://example.com// 处理方式不同于http://example.com/ 对所有客户?
问题:通常情况下,URL的HTML站点是相同的Html 是http://example.com// 处理方式不同于http://example.com/ 对所有客户?,html,http,url,browser,client,Html,Http,Url,Browser,Client,问题:通常情况下,URL的HTML站点是相同的http://example.com//和http://example.com/(第一个URL末尾有两个斜杠)。我想,我可以在某种程度上配置我的网站,即两个URL之间提供的HTML不同。是否所有客户端都正确处理了这一问题,即是否所有客户端都发送了一个以第一行中的get//HTTP/1.1开头的get请求?(或者是否存在缩短http://example.com//toGET/HTTP/1.1加一个斜杠?) 我问题的背景:我想用#实现我网站的JavaSc
http://example.com//
和http://example.com/
(第一个URL末尾有两个斜杠)。我想,我可以在某种程度上配置我的网站,即两个URL之间提供的HTML不同。是否所有客户端都正确处理了这一问题,即是否所有客户端都发送了一个以第一行中的get//HTTP/1.1
开头的get请求?(或者是否存在缩短http://example.com//
toGET/HTTP/1.1
加一个斜杠?)
我问题的背景:我想用
#实现我网站的JavaScript版本代码>。在此版本中,应动态加载整个内容。我认为URL像http://example.com/foo/bar/
应成为http://example.com//#!/foo/bar/
(最后是简短的URL),我在http://example.com//
此网站版本的JavaScript(与http://example.com/
)。我只是问自己,就目前的URL标准而言,这种方法在理论上是否可行。以下是我目前得到的一些结果:
Firefox(28.0版)
:是(发送两条斜线)
curl
(因此我希望程序也使用libcurl
):是(发送两条斜线)
wget
:是(发送两条斜线)
- 铬(33.0版)
:是(发送两条斜线)
不幸的是,我现在无法访问更多的浏览器。我会更新这个答案。但如果你能同时发布更多的经验,那就太好了;-)
@Kevin B的评论:
明确建议在运行之前进行跨浏览器/操作系统测试,我过去在链接图像时遇到过问题,例如在chrome(而不是firefox)中使用错误的//而不是/路径
这是服务器端问题,而不是客户端问题。是的,你会得到同样的结果。这仅仅是因为请求被映射到文件系统逻辑,在通常用作http服务器基础的所有系统上,文件系统逻辑将“//”等同于“/”。实际上,除了使用服务器端重写规则和正则表达式之外,您无法配置任何内容。因此,在处理实际请求之前。@arkascha:使用重写规则正是我为不同HTML文件提供服务的计划。我的问题是:如果所有客户端看到像
http://example.com//
?(因为如果有类似客户端URL简化的东西,我就不能使用重写规则…)好吧,我希望“所有”客户端(不管是什么意思)都会发送,但最好自己检查一下。使用网络嗅探器或(更简单的)调试代理,甚至只是检查服务器访问日志文件并启动不同的浏览器和其他客户端。@arkascha:不幸的是,我现在无法访问所有浏览器类型,但我想你是对的,我必须这样做…明确建议在使用它之前进行跨浏览器/操作系统测试,我过去在链接图像时遇到过一些问题,例如在chrome而不是firefox中工作的路径中出现了错误的/
,而不是/
。