【问题标题】:What is the difference between urlencode and rawurlencode? [closed]urlencode 和 rawurlencode 有什么区别? [关闭]
【发布时间】:2012-09-15 07:52:41
【问题描述】:

我顺便看了参考问题urlencode vs rawurlencode?,我应该使用rawurlencode

例如

如果与其他系统的互操作性很重要,那么 rawurlencode 似乎是要走的路。

但是为什么urlencode 会在那时被发明出来呢?是不是说明这个功能没用了?

【问题讨论】:

  • 我通常在所有应用程序中使用 urlencode,它们都运行良好。这都是关于 RFC 3986
  • 不是没用,但它使用特殊字符,经常容易混淆,rawurlencode更好
  • 为什么不将其作为对原始答案的评论?我认为您的问题处于重复的边缘,如果您认为不是,请对其进行编辑,使其显而易见。
  • 它是为 HTML 标准而发明的,参见 RFC1866 (HTML 2.0),具体在这里:tools.ietf.org/html/rfc1866#section-8.2 - 它基本上为常用输入的文本节省了网络带宽。空格符号在文本中经常使用。现在已经不是什么大问题了。

标签: php security


【解决方案1】:

这取决于你追求什么。它们之间的一个主要区别当然是它们编码的标准,还有空格。

urlencode 的编码方式与表单数据的编码方式相同

urlencode 将空格编码为+ 符号,而rawurlencode 将它们编码为%20

因此,在处理表单数据时,最好使用 urlencode(因为表单也将空格编码为 + 符号)。否则,我认为 rawurlencode 是一个更明智的选择。

例如,您可能想模仿通过 URL 提交的表单数据,您可以使用 urlencode。

【讨论】:

  • ' 因此,在处理表单数据时,最好使用 urlencode(因为表单也将空格编码为 + 符号)。 ' - 你能举个例子解释一下吗?如果我们在这里使用rawurlencode会有什么问题?
猜你喜欢
  • 2010-11-03
  • 1970-01-01
  • 2010-12-10
  • 2011-09-20
  • 2013-03-25
  • 2023-03-08
  • 2016-07-17
  • 2015-07-17
  • 2014-07-11
相关资源
最近更新 更多