在HTTP协议中,URI用于标识资源,查询字符串表示根据msdn
的其他参数。在将资源返回给用户之前,Web服务器可以使用这些参数做一些额外的工作。
我的问题是从HTTP中介的角度来看,仅在查询字符串中有所区别的两个相似的URI是否标识两个不同的资源?
答案 0 :(得分:0)
在查询组件中不同的HTTP URI不等效(除非唯一的区别是percent-encoding of unreserved characters)。它们仍然可以标识相同的资源,但这与在URI标准的眼中确定它们是否等效无关。
URI标准(STD 66;当前:RFC 3986)解释了如何检查URI是否等效:
Normalization and Comparison。
这些URI是等效的:
http://example.com/foo?bar
http://example.com/foo?ba%72
http://example.com:80/foo?bar
这些URI不相同:
http://example.com/foo?bar
http://example.com/foo?baz
这些等效项(details)也不相同:
http://example.com/foo
http://example.com/foo?