HTTP GET";www.foo.com/content“;及;www.foo.com/content/“;他们有什么不同?
我正在使用Firefox 我在这个网页上读到: 我无意中键入,在结尾处只省略了“/”: …并显示没有格式的内容HTTP GET";www.foo.com/content“;及;www.foo.com/content/“;他们有什么不同?,http,web,get,Http,Web,Get,我正在使用Firefox 我在这个网页上读到: 我无意中键入,在结尾处只省略了“/”: …并显示没有格式的内容 我听说HTTP-GET-request…centent/和…centent是不同的。我所知道的是,requsting…centent/将返回该目录的内容列表或显示该目录的默认值,而请求…content将返回该文件的内容(content)。我说得对吗?以及上述两个链接返回的方式为何不同?(这种情况看起来像是网站的bug)在服务器端,没有规则规定服务器应该输出什么,是否带有尾随斜杠。HT
我听说HTTP-GET-request
…centent/
和…centent
是不同的。我所知道的是,requsting…centent/
将返回该目录的内容列表或显示该目录的默认值,而请求…content
将返回该文件的内容(content
)。我说得对吗?以及上述两个链接返回的方式为何不同?(这种情况看起来像是网站的bug)在服务器端,没有规则规定服务器应该输出什么,是否带有尾随斜杠。HTTP没有目录的概念。一切都只是一种资源
但在浏览器端对路径的解释方式上存在差异
在本例中,如果没有尾部斜杠,浏览器会认为它正在/javascript中请求一个名为“content”的资源
然后,当它查找告诉浏览器如何设置内容样式的CSS样式表时,它将在/javascript中查找该文件,因为页面使用了一个相对链接:
<link rel="stylesheet" href="gitbook/style.css">
<link rel="stylesheet" href="gitbook/plugins/gitbook-plugin-exercises/exercises.css">
使用尾随斜杠,它将转换为
https://gitbookio.gitbooks.io/javascript/content/gitbook/style.css
这是一种不好的做法,或者是一种错误,这取决于你的观点
https://gitbookio.gitbooks.io/javascript/content/gitbook/style.css