• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 细说h5中cookie,localstorage与sessionstorage的区别

细说h5中cookie,localstorage与sessionstorage的区别

作者:ly2983068126的博客 字体:[增加 减小] 来源:互联网 时间:2017-08-31

本文主要包含cookie,localstorage,session等相关知识,ly2983068126的博客希望在学习及工作中可以帮助到您

最近总是遇到问cookie,localstorage与sessionstorage的区别,我也从各个网址上搜索了一些资料,自己整理一套相对来说更易理解的资料。今天从各个方面来说一说这三者的区别。

Cookie

Cookie 是小甜饼的意思。直译来说cookie确实 非常小,它的大小限制为4KB左右。cookie是存储在用户本地终端上的数据,有时也用cookies指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常都经过加密处理。一般典型的应用是判断注册用户是否已经登录过该网站。

localStorage

localStorage 是 HTML5 标准中新加入的技术,localStorage 被大多数浏览器所支持,如果你的网站需要支持 IE6+,那以 userData 作为你的 polyfill 的方案是种不错的选择。localstorage是存储在客户端(即浏览器)中的,不参与和服务器的通信。

           

sessionStorage

sessionStorage 与 localStorage 的接口类似,但保存数据的生命周期与 localStorage 不同。做过后端开发的同学应该知道 Session 这个词的意思,直译过来是“会话”。而 sessionStorage 是一个前端的概念,它只是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空。

 

三者的异同

特性 Cookie localStorage sessionStorage
数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小 4K左右 一般为5MB
与服务器端通信 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 仅在客户端(即浏览器)中保存,不参与和服务器的通信
易用性 需要程序员自己封装,源生的Cookie接口不友好 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

 

应用场景

 

有了对上面这些差别的直观理解,接下来我们看一下三者的应用场景

因为考虑到每个 HTTP 请求都会带着 Cookie 的信息,所以 Cookie 当然是能精简就精简啦,比较cookies常用的一个应用场景就是判断用户是否登录。针对登录过的用户,服务器端会在他登录时往 Cookie 中插入一段加密过的唯一辨识单一用户的辨识码,下次只要读取这个值就可以判断当前用户是否登录啦。

 localStorage 接替了 Cookie管理购物车的工作,同时也能胜任其他一些工作。比如HTML5游戏通常会产生一些本地数据,localStorage 也是非常适用的。如果遇到一些内容特别多的表单,为了优化用户体验,我们可能要把表单页面拆分成多个子页面,然后按步骤引导用户填写。这时候sessionStorage 的作用就发挥出来了。

 

安全性的考虑

需要注意的是,不是什么数据都适合放在 Cookie、localStorage 和 sessionStorage 中的。使用它们的时候,需要时刻注意是否有代码存在 XSS 注入的风险。因为只要打开控制台,你就随意修改它们的值,也就是说如果你的网站中有 XSS 的风险,它们就能对你的 localStorage 肆意妄为。所以千万不要用它们存储你系统中的敏感数据。

 

您可能想查找下面的文章:

  • 细说h5中cookie,localstorage与sessionstorage的区别
  • html5离线存储和cookie储存分析
  • cookie的具体使用方法
  • 详解html5的web存储与cookie的区别

相关文章

  • 2018-12-03html5教程调用绘图api画简单的圆形代码分享_html5教程技巧
  • 2018-12-03HTML5仿手机微信聊天界面的具体分析
  • 2018-12-03概述HTML5的强大与未来发展
  • 2018-12-03李炎恢HTML5视频资料分享
  • 2018-12-03HTML5每日一练之Canvas标签的应用-绘制径向渐变图形
  • 2018-12-03HTML5自定义元素播放焦点图动画示例代码详细介绍
  • 2018-12-03html5中返回音频/视频是否已暂停的属性paused
  • 2018-12-03详细介绍基于HTML5的超级玛丽游戏demo的示例代码
  • 2018-12-03textarea到底是使用value还是innerhtml还是innerText来获取输入的内容的?
  • 2018-12-03圆弧和扇形的加载动画该怎么写?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 整理HTML5的一些新特性与Canvas的常用属性
    • 小强的HTML5移动开发之路(43)——JqueryMobile页眉、工具栏和标签栏导航
    • HTML5+CSS3模仿优酷视频截图功能示例
    • HTML5QQ登录的一篇代码分享
    • 20个为前端开发者准备的文档和指南(1)
    • HTML5中的事件属性
    • H5你真的了解吗?(绝对干货)
    • 如何使用html5 canvas实现心电图的移动效果
    • Web前端面试题面试技巧有哪些?
    • 移动端网站设计优化要点

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有