关于url编码的简单总结

以下只是简单总结,并不完善但是非常有用。

url组成: 之前对url的组成很模糊,一直都笼统称为url,但其实在对url编解码过程中对每部分的编解码区别挺大的。

对url中的URI,QueryString以及请求体的编解码都是不一样的。

因为浏览器对每部分的编码不一样,所以才有服务器对每部分的解码方式不一样。(不同的浏览器对每部分的编码方式可能有不一样)

以Tomcat为例,URL中解码:

URL中的URI部分的解码:在server.xml中的<Connector URIEncoding="UTF-8">中指定,若未指定,默认采用ISO-8859-1 解码。

一、QueryString解码:(GET)


二、请求体解码:(POST)


三、请求头解码


划重点:请求头不能设置编解码格式,含非ASCII字符,解码定会乱码。

所以我们在文件下载的时候,在响应头设置文件名称时为将文件指定为ISO8859-1的编码格式,这是浏览器默认解码格式。

参考:《深入分析Java Web技术内幕》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值