我几周前第一次意识到,在设置http cookie时,虽然域名不区分大小写,但路径是.
所以有一段时间存储了一个cookie
http://SomeWebSite.com
可以使用阅读
http://somewebsite.com
存储的cookie
http://somewebsite.com/SomePath
无法阅读使用
http://somewebsite.com/somepath
根本找不到它.
由于这显然是在RFC规定(参见3.3.3点这里),我怀疑这是一个疏忽,但作为一个用户,我没有受过处理的URL作为区分大小写的文本和Web服务器,至于我可以告诉大家,不要似乎无论如何都要介意,并且会很好地提供页面; 所以我想知道 - 这个决定背后的理由是什么?
任何人都可以轻松一点?
大多数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进行修改等)