尝试使用Google查找有关De Morgan法则的维基百科文章。
单击链接,然后查看URL。至少在Chrome中,它将是
https://en.wikipedia.org/wiki/De_Morgan%27s_laws
'
被百分比编码为%27
,尽管它是有效的URL字符(甚至更多,如果您在地址栏中手动将其从%27
更改为{{1} },它将起作用)。为什么?
答案 0 :(得分:1)
尽管撇号可能是有效的char,但URL编码的版本也同样有效!
不确定是否有困难的原因,所以这是一个“软”的答案:如果曾经将URL放入JSON或XML,则必须以某种方式转义Aposthrope(和/或双引号)。将URL编码为清理URL的一部分可以解决此问题,并且可以防止不良的JSON / XML处理和程序员错误。只是实用。
应该可以在HTTP响应的标头等中解码这些特定的有效字符(因此浏览器将它们显示为“正确”),也许不错,但需要额外的工作和代码。请注意,还有一些字符无法进行解码,因此这必须是选择性的!所以至少在这种情况下,我认为还没有完成。因此,如果在整个页面加载操作链的任何步骤中对char进行URL编码,它们都会保持这种状态。