为什么双引号将其用%22编码?

问题描述 投票:0回答:2

据我所知,URL编码存在是因为URL仅支持ASCII编码。但是,由于"已经在ASCII表中,为什么还要在URL编码中将其编码为%22

html encode urlencode
2个回答
3
投票

并非严格要求使用"字符,但建议使用。请参阅“不安全”部分下的RFC 1738(统一资源定位符)的2.2(URL字符编码问题)部分。推荐原因是:

在某些系统中,引号(""")用于分隔URL。

其他不安全字符的一些示例:

"<"">"字符是不安全的,因为它们被用作自由文本中URL的分隔符。

字符"%"是不安全的,因为它用于其他字符的编码。


1
投票

URL仅支持ASCII编码

不正确。 URL不支持空格或/&?,尽管它们是有效的ASCII字符,因为它们在URL中具有特殊的含义。

URL中的有效字符是:

  • A-Z
  • a-z
  • 0-9
  • -
  • _

不支持其他字符。不支持某些字符,例如空格和制表符,因为它们在通常使用诸如HTTP之类的URL的协议中具有特殊含义。不支持其他语言,例如?&,因为它们在URL语法中具有特殊含义。

© www.soinside.com 2019 - 2024. All rights reserved.