关于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技术内幕》

猜你喜欢

转载自blog.csdn.net/xybz1993/article/details/80650257
今日推荐