小编典典

何时应将空格编码为加号 (+) 或 %20?

all

有时空格会被 URL 编码为+标志,有时会被编码为%20. 有什么区别,为什么会发生这种情况?


阅读 178

收藏
2022-03-08

共1个答案

小编典典

+ 表示内容中的空格application/x-www-form-urlencoded,例如 URL 的查询部分:

http://www.example.com/path/foo+bar/path?query+name=query+value

在此 URL 中,参数名称query name带有空格,值query value带有空格,但路径中的文件夹名称字面意思是foo+bar
而不是 foo bar

%20是在这些上下文中对空间进行编码的有效方法。因此,如果您需要对字符串进行 URL 编码以包含在 URL
的一部分中,则始终可以安全地将空格替换%20%2B. 这就是,例如,encodeURIComponent()在 JavaScript
中所做的。不幸的是,这不是urlencode在 PHP
中所做的(rawurlencode更安全)。

也可以看看

HTML 4.01 规范 application/x-www-form-
urlencoded

2022-03-08