网销的网站建设与管理,做cpa怎么建立自己网站,乐清网站制作哪家好,wordpress站点logo多大合适get类型请求的发送过程
前端发送一个get请求的过程#xff1a;
封装参数进行URL编码#xff0c;也就是将中文编码成一个带有百分号的字符串#xff0c;具体可以在这个网站进行测试。http://www.esjson.com/urlEncode.html 进行Http编码#xff0c;这里浏览器或者postman都…get类型请求的发送过程
前端发送一个get请求的过程
封装参数进行URL编码也就是将中文编码成一个带有百分号的字符串具体可以在这个网站进行测试。http://www.esjson.com/urlEncode.html 进行Http编码这里浏览器或者postman都是默认用ISO-8859-1标准进行编码。Tomcat收到请求后进行解码这里Tomcat默认采用ISO-8859-1进行解码。然后再利用URL标准进行解码。两次解码之后我们就还原了这个中文字符串。然后再接口内部就可以使用解析出来的参数对象了。
仔细想一下编码到底是用来做什么的其实是为了节约空间UTF-8GBK等均采用了不同的算法来表示世界上所有的字符。
我们为什么要有这么多编码呢因为世界上的语言太多啦每种编码标准都或多或少的偏向某一种语言比如GBK中的GB就是表示“国标”的意思用它来编码汉字比UTF-8更加节约空间。
但是用GBK来表示韩文呢日文呢未必有UTF-8高效具体要根据他们的编码规则进行分析这里只是举个例子。
而无论哪一种编码它都要对应到最终的一个通用的字典里这个貌似叫做Unicode字典这个字典包含了全世界存在的所有字符进而就得到了我们的对象。
为什么不直接传输Unicode编码可以但是传输起来不如编码节约空间考虑Huffman编码。
写Java的门槛太低了这些从业者在网上大肆发帖子造成了良莠不齐的现象。之前在配置环境的时候为了解决win下开发spring项目的控制台乱码问题参考了网上的一些帖子。结果稀里糊涂把server.xml里的URIEncoding改成了UTF-8这对于浏览器就不通用了因为浏览器默认采用的就是ISO-8859-1进行编码。
因此造成了乱码问题。
解决方案
找到Tomcat目录下的conf目录然后进入打开server.xml文件找到第一个connector标签检查里面是否存在 URIEncoding 这个属性如果有把里面设置的 URIEncoding 去掉 !-- A Connector represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.html (blocking non-blocking)Java AJP Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL HTTP/1.1 Connector on port 8080--Connector port8080 protocolHTTP/1.1connectionTimeout20000redirectPort8443/注由于时间仓促本文没有深入进行校验文献只是凭借着自己的一些基础知识理解写成如有错误欢迎评论区指出谢谢