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