一、cookie和session

  首先 session 和 cookie 用于浏览器客户端与服务端数据交互,通过会话的方式跟踪浏览器用户身份。

1、cookie

  (1)、一般由服务器生成,可以设置失效时间,如果是浏览器生成则默认浏览器关闭后失效;

  (2)、与服务器端通信,每次请求都放在 http 请求头中;

  (3)、数据存储在内存中,数据大小为4KB,保存在类型为字符串;

2、session

   session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。

3. session和cookie的结合使用

  web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式:

1)、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。

2)、将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。

二、WebStorage

  HTML5的WebStorage提供了两种API: localStorage(本地存储)和sessionStorage(会话存储)

1、生命周期:

  localStorage的生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失。
  sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不一样的。

2、存储大小:

  localStorage和sessionStorage的存储数据大小一般都是:5MB

3、存储位置:

  localStorage和sessionStorage都保存在客户端,不与服务器进行交互通信。

4、存储类型:  

  localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理

WebStorage由于不会传送到服务器,所以更安全,也能节省网络流量,存储数据也比cookie要大,存储在本地也使得读取数据更快,因为存在伪造问题,不建议存储敏感信息

每日壹题:

  var 、let 、const 区别?

  • var 和 let 用以声明变量,const 用于声明只读的常量;
  • var 声明的变量,不存在块级作用域,在全局范围内都有效,let 和 const 声明的,只在它所在的代码块内有效;
  • let 和 const 不存在像 var 那样的 “变量提升” 现象,所以 var 定义变量可以先使用,后声明,而 let 和 const 只可先声明,后使用;
  • let 声明的变量存在暂时性死区,即只要块级作用域中存在 let,那么它所声明的变量就绑定了这个区域,不再受外部的影响;
  • let 不允许在相同作用域内,重复声明同一个变量;
  • const 在声明时必须初始化赋值,一旦声明,其声明的值就不允许改变,更不允许重复声明;

最新文章

  1. jquery_DOM笔记3
  2. navicat快捷键
  3. SQL Pretty Printer-不错的SQL格式化工具
  4. poj2502 最短路
  5. System.Web.HttpContext.Current 跟踪分析
  6. chrome插件background.js 和 popup.js 交互
  7. IOS总结 静变量static、全局变量extern、局部变量、实例变量
  8. inux上iptables防火墙的基本应用教程
  9. SQL语句删除表中的字段只留下最新一行
  10. 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'goodsController' defined in file [D:\eclipse\eclipse-space\pinyougou_parent\pinyou
  11. Ubuntu中拷贝文件的操作
  12. [jzoj]1229.Hanoi
  13. Linux - 利用systemctl命令管理服务
  14. Sphinx(coreseek)一些记录
  15. [Umbraco] 项目结构
  16. 【Linux】参数代换命令xargs
  17. cogs 2223. [SDOI2016 Round1] 生成魔咒
  18. noi题库(noi.openjudge.cn) 3.9数据结构之C++STL T1——T2
  19. 不要怂,就是GAN (生成式对抗网络) (三):判别器和生成器 TensorFlow Model
  20. 亚马逊中国耳机巨头Jabra官方旗舰店上线

热门文章

  1. 美国权威媒体CRN预测:2020年值得关注的10个新兴云计算趋势
  2. 有关常用的UI组件
  3. 从头学pytorch(十四):lenet
  4. Java对象头与锁
  5. Windows安装EMQ服务器(mqtt)
  6. Freemarker 的基础使用 (二)
  7. vue 项目中运用到的插件 或者依赖安装
  8. mock造数据
  9. Spring--2.Spring之IOC--IOC容器的23个实验(2)
  10. [Micropython]TPYBoard v202 智能WIFI远控小车