当 href 属性值被 url 编码时,Link 不起作用

Link doesn't work when href attribute value is url encoded

当 href 属性值被 url 编码时,为什么 link 不起作用?

我们不应该对其进行编码吗?在 Chrome 和 FF

中观察到相同的行为

有效

<!DOCTYPE html>
<html>
<body>

<p>Sweet fruit: <a href="http://google.com/search?q=banana">Banana</a></p>

</body>
</html>

不起作用

<!DOCTYPE html>
<html>
<body>

<p>Sweet fruit<a href="http%3A%2F%2Fgoogle.com%2Fsearch%3Fq%3Dbanana">Banana</a></p>

</body>
</html>

它是受保护的 link。 这就是编码的工作原理 http://www.w3schools.com/tags/ref_urlencode.asp

这是 link 你显示第一个已解码,第二个已编码。

http://google.com/search?q=banana http%3A%2F%2Fgoogle.com%2Fsearch%3Fq%3Dbanana

一起来看看

在这种情况下,“/”变为 %2F,“?”变为%3F 和 "=" %3D

这是一种保护措施,因此 link 无法使用。 dns 无法读取它。 如您所见,第一个 link 是可点击的,而第二个则不是。

dns 找不到 link...