浏览器本地存储与服务器端存储
1.浏览器本地存储:
- sessionStorage、localStorage和cookie都是将数据存储在本地的方法。
- 浏览器端一般只用来存储小数据,浏览器只适合存储一般数据。
2.服务器端存储:
- 服务器端保存所有用户的所有数据,需要的时候浏览器要向服务器请求数据。
- 服务器端可以保存用户的持久数据,如数据库和云存储将用户的大量数据保存在服务器端。
- 服务器可以存储大数据或小数据。
- 服务器存储数据安全一些。
- 服务器端也可以保存用户的临时会话数据。服务器端的session机制,如jsp中的session对象,数据保存在服务器上。服务器和浏览器之间仅需传递session id即可,服务器根据session id找到对应用户的的session对象。会话数据仅在一段时间内有效,这个时间就是server端设置session有效日期。
在Html4时代,对Cookie的大小,格式,存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,一般只能借助存Cookie,但是大多数浏览器对于Cookie的限制也就逼迫网站存储数据尽量精简,想存储复杂的,关系型的用户数据根本不可能。
Cookie的限制:
大多数浏览器支持最大为4096字节的Cookie浏览器还限制站点可以在用户计算机上存储的Cookie的数量。大多数浏览器只允许每个站点存储20个Cookie
有些浏览器还会对它们将接受的来自所有站点的Cookie总数做出绝对能限制,通常为300个.
Cookie默认情况都会随着Http请求发送到后台服务器,但并不是所有的请求都需要Cookie,比如:js,css,图片等的请求不需要Cookie
Html5的设计者们,为了破解Cookie的一些列限制,HTML5通过JS的新的API就能直接存储大量数据到客户端的浏览器上,而且支持复杂的本地数据库。Html5支持的两种WebStorage,一种是永久性的本地存储(localStorage),另外一种是会话级别的本地存储(sessionStorage)
总结:
- 服务器端保存所有用户的数据,所以服务器的开销比较大,而浏览器保存则把不同用户需要的数据分布保存在用户各自的浏览器中。
- 浏览器端一般只用来存储小数据,而服务器可以存储大数据或小数据
- 服务器存储数据安全一些 ,浏览器适合存储一般数据