html – 是否允许网址包含空格?

是否允许URI(特别是HTTP URL)包含一个或多个空格字符?如果一个URL必须被编码,只是一个常用的约定,或合法的替代?


问题动机:在测试网站时,我注意到一些URL是用空格构造的。 Firefox似乎做正确的事情,这让我感到惊讶!但我想能够指出开发人员一个RFC,使他们觉得需要修复这些URL。

RFC 1738


Characters can be unsafe for a number of reasons. The space
character is unsafe because significant spaces may disappear and
insignificant spaces may be introduced when URLs are transcribed or
typeset or subjected to the treatment of word-processing programs.

The characters "<" and ">" are unsafe because they are used as the
delimiters around URLs in free text; the quote mark (""") is used to
delimit URLs in some systems. The character "#" is unsafe and should
always be encoded because it is used in World Wide Web and in other
systems to delimit a URL from a fragment/anchor identifier that might
follow it. The character "%" is unsafe because it is used for
encodings of other characters. Other characters are unsafe because
gateways and other transport agents are known to sometimes modify
such characters. These characters are "{", "}", "|", "\", "^", "~",
"[", "]", and "`".

All unsafe characters must always be encoded within a URL. For
example, the character "#" must be encoded within URLs even in
systems that do not normally deal with fragment or anchor
identifiers, so that if the URL is copied into another system that
does use them, it will not be necessary to change the URL encoding.

转载请明显位置注明出处:html – 是否允许网址包含空格?