今天有兴致用HttpWatch查看基线的所有页面的post和request,在报告里提示有这样的warning:
HW1001 Performance
The textual content in the HTTP response could be made smaller using HTTP compression
我们使用SSH框架,查询数据的时候,前台Ajax请求到struts,action返回JSON数据给前台。
当该返回的JSON字符串比较大时,据我的经验判断,会产生两个问题。
一是Ajax方式接收大字符串数据,是不可靠的。
这时,可能会有丢失数据或Ajax无法正确处理数据的问题。当数据库的数据量很大时,且查询超时(大概2~5分钟左右),action返回大字符串给Ajax后,Ajax并不能正确响应,对传递过来的数据采取了盲状态或置之不理,如果此时的grid设置了loadmask,那么它会一直处于loading状态。即数据到来了,只是迟到了N秒。。。,Ajax就不认识他了!(与Ajax这位小姑娘date,还是要准时赴约的。)
二是HTTP response大字符串数据,是不安全的。
大概搜了一下,了解了struts已经提供了这种解决方法,就是给返回的JSON数据GZIP一次,当然也可能会有乱码问题。
如何GZIP呢,待续。。。
本文探讨了在使用SSH框架查询数据库时,面对大JSON数据的Ajax接收问题及HTTP响应的安全性。提出了通过GZIP压缩JSON数据以优化数据传输效率和安全性,并避免Ajax接收大数据时出现的可靠性问题。
1187

被折叠的 条评论
为什么被折叠?



