URL允许包含空格吗?URI(特别是HTTPURL)是否允许包含一个或多个空格字符?如果URL必被编码,是+只是一个普遍遵循的惯例,还是一个合法的选择?特别是,有人是否可以指向RFC,该RFC指示具有空格的URL必被编码了?提出问题的动机:在测试网站时,我注意到有些URL是用空格构建的。火狐似乎做了正确的事情,这让我吃惊!但我希望能够将开发人员指向RFC,以便他们能够感觉到修复这些URL的必要性。
3 回答

达令说
TA贡献1821条经验 获得超6个赞
不安全:
由于多种原因,字符可能是不安全的。 空间字符是不安全的,因为重要的空格可能会消失,当URL被转录或排版或接受文字处理程序处理时,可能会引入不重要的空间。人物 "<"
和 ">"
是不安全的,因为它们被用作自由文本中URL周围的分隔符;引号( """
)用于分隔某些系统中的URL。人物 "#"
是不安全的,因此应该始终对其进行编码,因为它在万维网和其他系统中用于分隔可能后面的片段/锚标识符中的URL。人物 "%"
不安全,因为它用于对其他字符进行编码。其他字符是不安全的,因为网关和其他传输代理有时会修改这些字符。这些字符是 "{"
,"}"
,"|"
,"\"
,"^"
,"~"
,"["
,"]"
,和 "`"
.所有不安全字符必须始终在URL中编码
..例如,字符 "#"
即使在通常不处理片段或锚标识符的系统中,也必须在URL中进行编码,以便如果URL被复制到使用它们的另一个系统中,则无需更改URL编码。

胡子哥哥
TA贡献1825条经验 获得超6个赞
GET /url HTTP/1.1(Ignoring headers)
GET /url end_url HTTP/1.1
GET /url%20end_url HTTP/1.1
GET /url?var=foo+bar HTTP/1.1
GET /url?var=foo%20bar HTTP/1.1
- 3 回答
- 0 关注
- 3118 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消