为什么 Twitter 和 Google API 文档不对 URL 中的 & 符号进行编码?

2023-12-31

I 已读过 https://stackoverflow.com/questions/3705591/do-i-encode-ampersands-in-a-href我应该将我的&符号编码为&在 HTML 中。
然而numerous来自受人尊敬的公司的代码示例忘记这样做.

只是我脑海中浮现的几个例子:

谷歌网络字体 http://code.google.com/apis/webfonts/docs/getting_started.html#Subsets示例代码:

<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin,cyrillic' rel='stylesheet' type='text/css'>

谷歌地图 http://code.google.com/apis/maps/documentation/javascript/basics.html#Localization文档:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=ja">

随处推特 https://dev.twitter.com/docs/anywhere/welcome#getting-started官方教程:

<script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1" type="text/javascript"></script>

有什么实际好处吗not在链接中转义&符号?
这与浏览器的怪癖有关吗?这只是文档中的错误吗?

亲爱的回答者,请确保您正在回答right问题。

我知道我should根据规范转义 & 符号。我也知道why该机制首先被发明。我不是询问此事 https://stackoverflow.com/questions/3705591/do-i-encode-ampersands-in-a-href。我的问题是:

有没有a reason受人尊敬的公司的 API 文档经常违反这条规则?


这里有两个不同的上下文。

  1. 在 javascript href 的上下文中,& 就可以了,不应该被编码。
  2. 在 HTML 链接中,& 是被禁止的,应该被转义。

在 HTML 链接上下文中,在将地址传递给 HTTP 进程之前,将解码 HTML 字符实体; URL 编码的字符不会,因为服务器可以直接读取它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Twitter 和 Google API 文档不对 URL 中的 & 符号进行编码? 的相关文章

随机推荐