按html规范,&符号应编码为
&
但当然很多网站都没有这样做。以下是亚马逊广告小部件的示例:
<iframe
src="http://rcm.amazon.com/e/cm?t=xyzxyz-20&o=1&p=11&l=ur1&category=textbooks&banner=17P1AE8RQ1T7ZFC62V82&f=ifr"
width="120"
height="600"
scrolling="no"
border="0"
marginwidth="0"
style="border:none;"
frameborder="0">
</iframe>
请注意,&符号未编码。
我的问题是,对于那些在商业网站上工作很多,在公司工作或使用许多小部件代码的工作,大多数这些网站是否实际编码了&符号?
(换句话说,当它在网址中时,前1k网站中有多少百分比尝试正确编码&符号?)
压力:这不是关于它是否应该被编码。我只想问那些在公司工作的人:如果你看过很多基于cgi的url,其中有&符号,而且这个url在html页面内,根据你的经验,它们是否被编码?
答案 0 :(得分:3)
应该始终编码 - 以&
或&
然而,浏览器解析器非常宽容: - )
答案 1 :(得分:2)
我的个人经历:
最常见的用法是根本不使用练习;只需将其放入代码中,看看它是否在他们碰巧安装的浏览器中有效。
更多经验丰富的开发人员至少会在几个不同的浏览器中检查它。
那些关心健壮性的人会验证代码并正确编码字符(这也意味着在URL中编码字符)。