URI(特别是 HTTP URL)是否允许包含一个或多个空格字符?如果一个网址must被编码,是+
只是一个普遍遵循的惯例,还是一个合法的替代方案?
特别是,有人可以指出一个 RFC 来指示带有空格的 URLmust被编码?
提问动机:在对网站进行 Beta 测试时,我注意到某些 URL 的构造中带有空格。 Firefox 似乎做了正确的事情,这让我感到惊讶!但我希望能够向开发人员指出 RFC,以便他们觉得有必要修复这些 URL。
As per RFC 1738:
Unsafe:
由于多种原因,角色可能不安全。空间
字符是不安全的,因为重要的空格可能会消失并且
转录 URL 时可能会引入无关紧要的空格,或者
排版或经过文字处理程序处理。那些角色"<"
and ">"
不安全,因为它们被用作
自由文本中 URL 周围的分隔符;引号 ("""
)用于
在某些系统中分隔 URL。人物"#"
是不安全的,应该
总是被编码,因为它被用于万维网和其他
系统将 URL 与片段/锚点标识符分隔开来,该标识符可能
跟着它。人物"%"
不安全,因为它用于
其他字符的编码。其他字符不安全,因为
众所周知,网关和其他传输代理有时会修改
这样的人物。这些字符是"{"
, "}"
, "|"
, "\"
, "^"
, "~"
,
"["
, "]"
, and "`"
.
所有不安全字符必须始终编码在 URL 中。为了
例如,字符"#"
必须在 URL 中进行编码,即使在
通常不处理片段或锚点的系统
标识符,这样如果 URL 被复制到另一个系统中
如果使用它们,则无需更改 URL 编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)