URL转义:在URL中将多字节字符“%83%4a”写为“%83J”是否合法?

时间:2012-10-05 04:49:35

标签: url escaping

假设URL以多字节字符集编码,其中多字节序列中的一个字符可以在0到127之间,即一个有效的7位ASCII字符。

示例:日语Shift_JIS字符集,其中包含字符 被转义为%83%4a。现在%4a也是ASCII字符J,所以我可以写%83J

无论适用哪种标准,这都可以吗?

我不是在问,因为我想发送这样的URL(尽管后者节省了几个字节),但是我是否应该接受服务器端的那些,即它是否符合标准以及我是否可以期望其他服务器以同样的方式处理这个问题。

1 个答案:

答案 0 :(得分:0)

我的答案基于RFC 2396,因为这是HTTP 1.1使用的内容。

根据Section 2.1,有两个单独的步骤,后者是可选的:

  1. URI字符序列 - >八位字节序列
  2. 八位字节序列 - >原始字符序列
  3. 所以答案是:是的,没关系。