【发布时间】:2012-10-27 19:45:42
【问题描述】:
是否允许 HTTP 请求 URI 包含“..”段?
根据 RFC 2616 第 5.1.2 节,它们可以引用绝对 URI 或绝对路径(该部分中的其他选项与此问题无关)。
RFC 3986 中描述了绝对 URI 和绝对路径的含义,其中还描述了一种规范化路径的算法(包括删除单点和双点元素)。
但是,我找不到符合 RFC 的请求 URI 是否可以包含“..”段的确切规范 - 它们是否允许在绝对路径/URI 中,服务器是否必须规范化此类 URI?还是由客户决定?
“位置:”响应标头有什么不同吗?根据规范,它们只能包含绝对 URI,但这是否包括“..”部分?在请求引用的资源之前,客户端是否也必须对这些进行规范化?
澄清一下,我知道像../foo 这样的URI 在这些情况下是非法的,但是http://example.com/../foo 呢?这是一个有效的绝对 URI 吗?
我目前正在将客户端重定向到此类 URI,并想知道这是否符合规范。
【问题讨论】: