是否需要在html中对URL中的空格进行编码?

是否需要在html中对URL中的空格进行编码?,html,url,encoding,uri,Html,Url,Encoding,Uri,根据RFC3986: reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" 所以这里不需要空间编码 只有附录C讨论了空白,但只讨论了URI,例如,在纯文本中,可

根据RFC3986:

  reserved    = gen-delims / sub-delims

  gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

  sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / "+" / "," / ";" / "="
所以这里不需要空间编码

只有附录C讨论了空白,但只讨论了URI,例如,在纯文本中,可以使用空格分隔不同的URL。如果放置在
src
属性中,则情况并非如此


然而,几乎每一个关于“url编码”的教程都是从告诉空间是由
%20
编码开始的。(或+或两者的混合组合或…)

空格不是URI中的保留字符,因为URI中没有空格

如果您有一个包含空格的标识符,那么在将空格放入URI时必须对其进行编码。编码不是为了满足HTML语法,而是为了满足URI的标准

相关的:

如果在HTML代码中使用URI中的空格,浏览器必须对该空格进行编码,以便使用URI请求任何内容。这只是一个保护你不受伤害的浏览器,而且所有当前的浏览器都会这样做,至少在大多数情况下是这样的。与其依赖浏览器中的错误更正,还不如正确执行