在URL中有多个问号是否有效?

我今天遇到以下URL:

http://www.sfgate.com/cgi-bin/blogs/inmarin/detail??blogid=122&entry_id=64497 

注意查询string开头的加号问号:

 ??blogid=122&entry_id=64497 

我的浏览器似乎没有任何问题,并运行一个小书签:

 javascript:alert(document.location.search); 

只是给了我上面显示的查询string。

这是一个有效的url? 我这么迂腐的原因(假设我是)是因为我需要为查询参数parsing这样的URL,并且支持加倍的问号将需要对我的代码进行一些更改。 显然,如果他们在野外,我需要支持他们。 我主要是好奇的,如果这是我的错误不完全遵守的URL标准,或者如果它实际上是一个非标准的URL。

是的,这是有效的。 只有第一个 ? 在一个URL中有重要意义,任何后它被视为字面问号:

查询组件由第一个问号(“?”)字符表示,并以数字符号(“#”)字符结尾或由URI结尾。

字符斜杠(“/”)和问号(“?”)可能代表查询组件中的数据。 注意,一些较老的,错误的实现可能无法正确处理这些数据,当它被用作相对引用的基本URI时(5.1节),显然是因为它们在查找分层分隔符时无法区分查询数据和path数据。 但是,由于查询组件经常用于以“key = value”对的forms携带标识信息,而一个常用的值是对另一个URI的引用,所以有时为了可用性避免百分比编码这些字符更好。

http://tools.ietf.org/html/rfc3986#section-3.4

作为切线相关的答案, foo?spam=1?&eggs=3spam参数1?赋值1?