cookie的优点:具有极高的扩展性和可用性

  1. 通过良好的编程,控制保存在cookie中的session对象的大小。
  2. 通过加密和安全传输技术,减少cookie被破解的可能性。
  3. 只有在cookie中存放不敏感的数据,即使被盗取也不会有很大的损失。
  4. 控制cookie的生命期,使之不会永远有效。这样的话偷盗者很可能拿到的就是一个过期的cookie。

cookie的缺点:

  1. cookie的长度和数量的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB。否则会被截掉。
  2. 安全性问题。如果cookie被人拦掉了,那个人就可以获取到所有session信息。加密的话也不起什么作用。
  3. 有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务端保存一个计数器。若吧计数器保存在客户端,则起不到什么作用。

在html5中web storage包括两种存储方式:sessionstorage和localstorage

sessionstorage用于本地存储一个会话(session)中的数据,这个数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionstorage不是一种持久化的本地存储,仅仅是会话级别的存储。

而localstorage用于持久化的本地存储,除非主动删除数据,否则数据是永远也不过期的。


web storage的概念和cookie相似,区别是它是为了更大的容量存储设计的。cookie大小受限,并且每次都请求一个新的页面的时候后cookie都会被发送过去,另外cookie还需要指定作用域,不可以跨域调用。

cookie的作用是与服务器进行交互,作为HTTP规范的一部分存在,而web storage仅仅是为了在本地存储数据而生。

localstorage和sessionstrage都具有相同的操作方法,例如setItem,getItem和removeItem等。

转载于:https://www.cnblogs.com/lidongcn/p/4493496.html

Cookie的利弊以及与web storage的区别相关推荐

  1. Cookie与Web Storage的区别

    共同点:用于数据的存储. 区别: 1.是否需要添加到http请求头? HTTP Cookie(cookie):在客户端存储会话信息,要求服务器对任意HTTP请求发送set-cookie HTTP头作为 ...

  2. Web Storage

    概述 Web Storage的目的是克服由cookie带来的一些限制,当数据需要被严格控制在客户端上时,无须持续地将数据发回服务器.Web Storage的两个主要目标是:提供一种在cookie之外存 ...

  3. HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)...

    1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息. 但是coo ...

  4. (五)HTML5本地存储——Web Storage

    Web应用的发展,使得客户端存储使用得也越来越多,而实现客户端存储的方式则是多种多样.最简单而且兼容性最佳的方案是Cookie,但是作为真正的客户端存储,Cookie则存在很多致命伤.此外,在IE6及 ...

  5. HTML5本地存储之Web Storage篇

    2019独角兽企业重金招聘Python工程师标准>>> Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的c ...

  6. Web Storage API的介绍和使用

    文章目录 简介 浏览器的本地存储技术 Web Storage相关接口 浏览器兼容性 隐身模式 使用Web Storage API 总结 简介 Web Storage为浏览器提供了方便的key valu ...

  7. Web Storage中的sessionStorage和localStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  8. HTML5 本地存储(Web Storage)

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 本地永久存储,下次打开浏览器数据依然存在 sessionStorage - 只存在于一个会话的数据存储,关闭浏览器数据会 ...

  9. 使用 jQuery Mobile 与 HTML5 开发 Web App (十六) —— HTML5 Web Storage

    绝大多数的软件都需要使用某种具有持久性的方式来存储数据,Web Apps 也不例外,涉及到完整后台的 Web Apps ,可以直接在后台使用 mysql 等数据库来存储数据,但过多的 sql 查询会影 ...

最新文章

  1. android 读取asset下的文件注意事项
  2. 普博去该知名城市,直接先赠送80㎡公寓,每月生活补贴5000,最高100万项目经费!...
  3. java操作protobuf
  4. HDFS集中式缓存管理(Centralized Cache Management)
  5. Java项目经验——程序员成长的关键
  6. SpringBoot集成七牛云-实现文件上传、下载、解决报错、详细案例
  7. 编辑器FreeTextBox升级至3.0
  8. MFC六大核心机制之一:MFC程序的初始化
  9. 关于SP一些响应码的API返回码及解析集合
  10. oracle其他盘添加表空间吗,oracle增加表空间的四种方法
  11. Instagram 使用 Python 的经验
  12. php整理(二): 数组
  13. 软件工程入门基本知识
  14. Ubuntu配置静态IP以及interfaces配置不生效问题解决
  15. Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme阅读总结
  16. MySQL:Illegal mix of collations (utf8_general_ci,COERCIBLE) and (gbk_chinese_ci,IMPLICIT) for operat
  17. 十六进制解码_快速十六进制编码和解码
  18. 跳出任务管理的泥沼,拥抱甘特图的怀抱
  19. java开发去国企和私企,看完跪了
  20. Arcpy 通过mxd模版生成专题图

热门文章

  1. l298n电机驱动模块_带DRV8825驱动器模块和Arduino的控制步进电机
  2. php 判断设备来源,PHP判断移动设备来源的方法
  3. 【UEditor】介绍
  4. 【Centos 7】【Docker】 安装 redis
  5. nextcloud php工程师,教你如何基于宝塔面板和nextcloud搭建自己的网盘
  6. python一键安装包_Python一键安装全部依赖包
  7. android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...
  8. 多版本JDK切换方式
  9. Pytorch教程(十八)tensor的保存为csv,并加载
  10. 对标 VS Code,JetBrains 的下一代 IDE :Fleet