http query parameter的编码问题(备忘录)
来源:互联网 发布:软件系统测试关键技术 编辑:程序博客网 时间:2024/06/14 15:05
http://localhost:8080/ClientHello?sessionId=+++
http://localhost:8080/ClientHello?sessionId=%2B%2B%2B
【sessionId=+++】这部分属于URI中的query部分,会被编码(转义),但是下面这几个特殊字符是不会被转义的。
当使用tomcat作为Http服务器时,query parameter这部分会被解码,因此如果传递了+,则会被解码成sp(空格),这是不符合预期的,也是很奇怪的。浏览器不会编码"+"号,URLDecoder会把+号解码成sp(因为URLEncoder会把空格编码成+号),这就存在了一种不一致行为,为了消除这种不一致,可以使用encodeURIComponent把+编码成%2B,URLDecoder会把%2B解码成+号。
encodeURIComponent并不会把所有字符都编码成%HEX HEX的形式,当某个字符X不被编码时,要保证URLDecoder也不会解码X,否则又会出现类似+号的不一致行为。
参考文献:
1.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
阅读全文
0 0
- http query parameter的编码问题(备忘录)
- Query参数parameter的操作
- Access 的参数查询(Parameter Query) (一)
- Access 的参数查询(Parameter Query) (二)
- HTTP 协议的编码问题
- ADOQuery的Parameter问题
- 关于http请求编码问题的说明(转)
- 关于http 表单编码的一些问题。
- Http响应和请求的编码问题
- 著名的"parameter sniffing"问题
- Http、编码问题图解
- Form Query String Parameter Tool
- (备忘录)response.sendRedirect() 的session丢失问题
- 关于JAVA的字符编码问题()http://www.cndw.com/tech/program/2006042861203.asp
- 正确处理下载文件时HTTP头的编码问题(Content-Disposition)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- java网络编程之网络概述
- 没有IDE如何编译JAVA项目
- word笔记
- oracle 前台页面输入框中模糊搜索值传入后台问题
- C++ STL系列(三)Algorithm
- http query parameter的编码问题(备忘录)
- C 指针
- Windows 10 必备软件
- Nos项目 ChannelInfo添加SKIP和FAV的图标
- 剑指offer-11 斐波那契数列
- solr入门-环境搭建
- Android APK加壳技术方案【1】
- 动态规划
- 分享几个实用的过滤函数