码迷,mamicode.com
首页 > Web开发 > 详细

实际项目中前后端传输字符串URL编解码过程中遇到的一些问题

时间:2018-03-17 17:58:02      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:gpo   post   版本   服务端   ase   oba   nbsp   system   次数   

线上版本(包括12.2,12.3版本)中,参照过滤条件在传输过程中经过了URL编码及解码过程,前后端使用的API之间的差异导致一些问题,现记录如下:

 


前端URL编码API

 

encodeURIComponent使用UTF-8编码格式对字符串进行URL编码;


后端URL解码API:目前代码中存在以下三种解码方式:

 

System.Web.UI.Server.UrlDecode,存在问题:无法解析%2B为+,输出为空白字符;

Microsoft.JScript.GlobalObject.unescape,存在问题:只能使用Unicode编码格式,与前端API使用的UTF-8编码格式不匹配,具体问题是汉字无法正确解码;

System.Web.HttpUtility.UrlDecode,存在问题:可以指定编码格式,便于与前端API使用的UTF-8编码格式匹配,但对%2B的解码是非幂等的,第一次解码可以被正确解析为+,而对+解码则输出空白字符;

 

 

 

鉴于以上存在的问题,在服务端解码过程中,需要谨慎考虑各种场景下(包括前端、领域)的编解码方式、次数(夹杂BASE64编码)等因素进行解码。

实际项目中前后端传输字符串URL编解码过程中遇到的一些问题

标签:gpo   post   版本   服务端   ase   oba   nbsp   system   次数   

原文地址:https://www.cnblogs.com/you-you-111/p/8590903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!