我最近在使用urlencode对字符串进行编码时发现它将空格字符串编码为了+,但是如果你用rawurlencode来编码,空格字符串就会变为%20。而且在浏览器里输入空格后,它都会将其转化为%20。
这两者有什么区别吗?后端服务器在接受这两种编码请求时会有和不同呢?
我试着将http://zh.wikipedia.org/wiki/Internet%20Explorer%207 网址替换为http://zh.wikipedia.org/wiki/Internet+Explorer+7 ,发现就无法识别了。
当数据进入提交HTML表单,表单字段名称和值进行编码和发送到服务器的HTTP GET或POST请求消息使用方法,或者,从历史上看,通过电子邮件。默认情况下使用的编码是基于一个非常早期版本的通用URI百分比编码规则,与一些修改,如换行符正常化和空格替换为“+”,而不是“% 20”。MIME类型数据的编码方法是应用程序/ x-www-form-urlencoded,和目前定义(仍然处于非常过时的方式)在HTML和XForms规范。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。