Http 为什么cookie路径区分大小写?

Http 为什么cookie路径区分大小写?,http,browser,cookies,Http,Browser,Cookies,几周前我第一次意识到,当设置http cookie时,虽然域名不区分大小写,但路径是 所以有一段时间,一块饼干被储存起来 http://SomeWebSite.com 可以使用 http://somewebsite.com 为…而储存的饼干 http://somewebsite.com/SomePath 无法使用读取 http://somewebsite.com/somepath 根本找不到 正如RFC中明确指出的(见第3.3.3点),我怀疑这是一个疏忽,但作为一个用户,我没有接受过将URL视为

几周前我第一次意识到,当设置http cookie时,虽然域名不区分大小写,但路径是

所以有一段时间,一块饼干被储存起来

http://SomeWebSite.com

可以使用

http://somewebsite.com

为…而储存的饼干

http://somewebsite.com/SomePath

无法使用读取

http://somewebsite.com/somepath

根本找不到

正如RFC中明确指出的(见第3.3.3点),我怀疑这是一个疏忽,但作为一个用户,我没有接受过将URL视为区分大小写的文本和web服务器的培训,据我所知,这两种方式似乎都不介意,可以很好地服务页面;所以我想知道,这个决定背后的理由是什么


如果路径区分大小写或不区分大小写取决于web服务器,那么任何人都可以提供一些信息。传统上,类unix的OS:s区分大小写,而MS则不区分大小写,这可能反映在特定OS上开发的Web服务器中

与此相关的链接可能会引起兴趣

更新

URL指向的资源取决于Web服务器。可能是存储在我的服务器硬盘上的文本文件,但也可以存储在数据库中,指向执行的脚本并返回一些随机行。它甚至不必是文本文件,它可以是图片、视频或任何可以数字传输的东西


但在本例中,它在服务器上作为文件排序。由于服务器是类unix系统,服务器文件系统区分大小写。因此,只有当请求的大小写与磁盘上存储的文件匹配时,它才会找到该文件。如果服务器存储在MS服务器上,文件系统不区分大小写,那么请求的大小写可能无关紧要

大多数Web服务器提供防白痴机制。据我所知,有两种常见的方法是在目录名的末尾添加斜杠(
http://example.com/x
=>
http://example.com/x/
)并更正或忽略大小写:(
http://stackoverflow.com/ABOUT
http://stackoverflow.com/about
)。但是,这不是Web服务器的要求,浏览器知道这一点<代码>http://stackoverflow.com/ABOUT可以提供与
http://stackoverflow.com/about
。使用带有?x=y语法的GET变量非常流行,并且这些值有时对服务器脚本区分大小写。浏览器必须正确处理这些可能的差异(不要将它们缓存为同一个文档,使用不同的cookie域,不要损坏Javascript等)。

始终将所有内容视为区分大小写。

谢谢@some,但我有点困惑-您指的是f/s路径还是url路径?(您提到的路径区分大小写取决于web服务器,但您发布的链接指的是f/s路径,我不会假设它们遵循相同的规则?!由于web服务器通常使用文件系统从中检索文件,它通常取决于web服务器运行的操作系统。因此,从web站点开发Propective,你不认为尝试在路径上设置cookie(例如,用于定制或身份验证)是毫无意义的,因为几乎不能保证它们会被找到…@Dahan,不确定你在问什么,但我认为你可能想配置你的Web服务器发送300 HTTP代码,将用户重定向到带有道具的页面所以它是一致的。这样,如果用户输入错误的URL(或其他),他们的cookie仍然有效。@strager你是说
http://abc.com
可以为不同于
http://abc.com/
?@Pacerier,事实上,没有;这是我文章中的错误信息。不过,你可以从
http://example.com/x
http://example.com/x/
@strager t也是如此他找到了重定向
http://abc.com
http://abc.com/
,或者应该
http://abc.com/
被重定向到
http://abc.com
?这不在我的控制范围之内,这正是问题所在。web服务器如何处理URL(我见过的所有情况都不区分大小写)浏览器如何处理cookie路径与我无关。你至少可以假设每个用户在访问站点时使用相同的大小写吗?在大多数情况下,这可能是正确的,因为大多数用户在第二次访问站点时会利用书签或自动建议。这不是问题的答案