viewstate、cookie、session、application的区别
viewstate:
viewstate是用来存储页面状态的,存储级别是页面级的,也就是说它在当前页面有效,出了这个页面就无效了,而且它的存储是经过哈希加密过的,我们的每一服务器控件都有viewstate属性,它默认为true。(例如:分页的存储和一些敏感的变量都是页面级的)。
小贴士:
(1)如何提高页面的访问速度:
A:将服务器端控件的viewstate属性设置为false,这样可以减少页面的html的大小。
B:使用完全的W3C,即不能出现Table,使用完全的DIV+CSS。
C:能用客户端控件尽量用,少用服务器端控件。
(2)viewstate和Input hidden的区别:
viewstate:viewstate使用哈希加密。
input hidden:它是明码的。
(3)使用缓存(cache)的情况:
A:该数据会频繁使用,并且不频繁更改。
B:如果数据频繁改的,不建议使用cache,这样会损失效率的。
C:使用缓存之前一定要判断是否存在。
D:使用缓存是需要类型转换。
Cookie:
cookie保存在客户端,一般保存一些非常敏感的数据,数据量相对较小,如果考虑效率,建议尽量多用,考虑安全,尽量少用。
Session:
session保存在服务器端的,session本身有sessionid,用来区别唯一,数据量相对较大,且占有服务器资源,所有考虑效率的时候尽量少用,而考虑安全尽量多用。
Application:
application应用程序,application在整个应用程序的生命周期是有效的,只要应用程序运行,它都有效,全局变量可以