假设我有一个AJAX应用程序,其URL为:http://www.foo.com/bar#!a=1&b=2&c=3
来自GoogleBot的可破解AJAX请求会是什么样子?
我假设:
A(http://www.foo.com/bar?_escaped_fragment_=a%3D1%26b%3D2%26c%3D3
但看起来实际上是这样的:(即=
不是url编码的(
B(http://www.foo.com/bar?_escaped_fragment_=a=1%26b=2%26c=3
B(是我将收到的实际请求,这正确吗?
仔细检查规范,看起来B(是正确的,但我仍然觉得有点惊讶,因为许多固定的查询字符串解析器可能不会用这个输入给你想要的结果。
我会自己回答这个问题。
正确答案似乎不是上述问题中的A或B。如果"干净"的AJAX URL是http://www.foo.com/bar#!a=1&b=2&c=3
,则"丑陋"的_escaped_fragment_版本是http://www.foo.com/bar?_escaped_fragment_=a=1%26b=2%26c=3
。因此,=
不是转义的,但&
是转义的。这在规范