HTTP GET";www.foo.com/content“;及;www.foo.com/content/“;他们有什么不同?

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

我正在使用Firefox

我在这个网页上读到:

我无意中键入,在结尾处只省略了“/”: …并显示没有格式的内容


我听说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