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

Yos*_*han 16 browser cookies http

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

所以有一段时间存储了一个cookie

http://SomeWebSite.com

可以使用阅读

http://somewebsite.com

存储的cookie

http://somewebsite.com/SomePath

无法阅读使用

http://somewebsite.com/somepath

根本找不到它.

由于这显然是在RFC规定(参见3.3.3点这里),我怀疑这是一个疏忽,但作为一个用户,我没有受过处理的URL作为区分大小写的文本和Web服务器,至于我可以告诉大家,不要似乎无论如何都要介意,并且会很好地提供页面; 所以我想知道 - 这个决定背后的理由是什么?

任何人都可以轻松一点?

str*_*ger 16

大多数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进行修改等)

  • @Dahan,不确定你在问什么,但我认为你可能想要配置你的Web服务器来发送一个300 HTTP代码来将用户重定向到具有正确外壳的页面,所以它是一致的.这样,如果用户输错了URL(或其他内容),他们的cookie仍然有效. (2认同)