前端存储方式

464 阅读3分钟

一般来说,数据存储在后端的服务器的数据库中,数据库分为关系型数据库:MySQL,Oracle,MS SQL SERVER以及非关系型数据库:MongoDB,Redis

从前端获取服务器数据库的数据会发送一个请求,后台接受请求之后将数据返回给前端。

前端存储方式有Cookie,LocalStorage,SessionStorage

Cookie

Cookie是一些数据,存储在电脑的文本文件中,当web服务器向浏览器,在连接关闭后,服务器不会记录用户的信息。

Cookie就是要解决“如何记录客户端的用户信息”的问题。 Cookie以名、值对形式存储,

username=Li Ming

Session在网络应用应用中被称为“会话控制”,Session对象存储特定用户对话所需的属性及配置信息。这样,当用户在应用程序的web页之间跳转时,存储Session对象中的变量不会丢失,而是在整个用户会话中一直存在下去。 Session的工作原理:

(1)当一个session第一次被启用时,一个独一的标识被存储在本地的cookie中

(2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量

(3)当执行PHP脚本时,通过使用session_register()函数注册session变量。

(4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地路径下保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中session.save_path指定,下次浏览网页时可以加载使用。

Cookie最大的作用就是存储sessionId用来唯一标志用户

Cookie和Session区别

(1)cookie数据存放在客户端的浏览器上,session数据放在服务器上。

(2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。

(3)session会在一定时间内保存在服务器上。当访问增加,会占用服务器的性能,考虑到减轻服务器性能方面,应该使用cookie。

(4)单个cookie保存的数据不能超过4k,许多浏览器都限制一个站点最多保存20个cookie。

(5)cookie可以设置失效时间,否则默认浏览器后失效。session默认保存时间是30分钟。

LocalStorage

(1)LocalStorage可以在本地存储name/value对,保存的数据没有过期时间,直到手动删除。

(2)LocalStorage属性是只读的。

(3)LocalStorage可以保存5M的信息。

(4)不参与和服务器的通信

(5)可以使用原生接口,也可以自己封装

(6)LocalStorage可以用来在也页面传递参数。

SessionStorage

(1)SessionStorage可以在本地存储name/value对,在关闭窗口或者标签页之后将会删除这些数据。

(2)SessionStorage可以保存5M的信息。

(3)不参与和服务器的通信

(4)可以使用原生接口,也可以自己封装

(5)SessionStorage可以用来保存一些临时的数据,防止用户刷新页面后丢失了一些参数。