cookie

localstorage

sessionstorage

数据的生命周期

可以设置失效时间,一般默认为浏览器关闭后

若不被清除,则永久保存

存在于一次会话中,刷新页面数据仍然存在,但关闭页面或浏览器失效

存储数据的大小

大约4k

大约5MB 大约5MB

与服务端通信

每次都会携带在http头中,使用cookie保存过多数据会带来性能问题

客户端存储,不参与服务端通信

客户端存储,不参与服务端通信

易用性

原生的cookie接口不友好,需要程序员自己封装

可以使用原生接口,也可以自己封装,对object和array有更好的支持

可以使用原生接口,也可以自己封装,对object和array有更好的支持

应用场景

用户登录:对于登录过的用户,再次登录时想cookie中插入一段加密过的唯一识别该用户的辨识码,下次只要读取这个值就可以判断该用户是否登录。

曾经用于电商网站用户购物车信息,现在一般用localstorage

HTML5游戏需要本地存储,可以用localstorage

当有比较多的表单信息,为了更好地用户体验,需要分为若干子页面给用户填写,这时用sessionstorage

cookie:

1、不同浏览器存储cookie的位置不同(浏览器差异)

2、按域名存储,不同域名的网站cookie存储的位置不同

3、按名值对存储

documen.cookie 可读可写的属性

设置cookie过期时间,5天之后过期

var date=new Date();
date.setDate(date.getDate()+);
date.toGMTString();
document.cookie='username=lily;expires='+date;
//过期日期date必须是字符串格式时间类型的数据

编码与解码:encodeURI(字符),decodeURI(字符)

document.cookie返回的各名值对以‘; ’隔开,以下函数根据cookie名获取对应值

function getCookie(key){
var arr1=document.cookie.split('; ');
for(var i=0;i<arr1.length;i++){
var arr2=arr1[i].split('=');
if(arr2[0]==key)
return arr2[1];
}

设置cookie

function ssetCookie(key,value,t){//t为过期时间
var date=new Date();
date.setDate(date.getDate()+t);
document.cookie=key+'='+value=';expires='+date.toGMTString();
}

安全性:不要用他们存储敏感数据

XSS:跨站脚本攻击 (crossing site scripting)

cookie、locakstorage、sessionstorage的区别的更多相关文章

  1. 简述cookie ,localStrage,sessionStorage的区别?

    1.cookie: 是一个回话跟踪技术,信息存储在用户硬盘,可以做全局变量. 什么是会话:用户进入网站,开始浏览到结束的这样的一个过程,称为一次会话. 会话跟踪技术:浏览器和服务器之间进行多次请求数据 ...

  2. cookie、session、localStorage、sessionStorage的区别

    cookie的机制 cookie是存储在用户本地终端上的数据.有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密. Cookie是服务器发 ...

  3. cookie、sessionStorage、localStorage的区别?

    数据存储位置 三者都是存储在游览器本地的 区别在于cookie是服务器端写入的,而sessionStorage.localStorage是由前端写入的 生命周期 cookie的生命周期是由服务器端写入 ...

  4. Cookie、LocalStorage 与 SessionStorage的区别在哪里?

    基本概念 Cookie Cookie 是小甜饼的意思.顾名思义,cookie 确实非常小,它的大小限制为4KB左右.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通 ...

  5. cookie、sessionStorage和localStorage的区别

    cookie.sessionStorage.localStorage 都是用于本地存储的技术:其中 cookie 出现最早,但是存储容量较小,仅有4KB:sessionStorage.localSto ...

  6. Cookie localStorage sessionStorage

    三者的异同 特性 Cookie localStorage sessionStorage 数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下(tab标签页)有 ...

  7. Cookie和Session的区别

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...

  8. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

  9. Cookie和Session的区别详解

    本文引用自:http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一 ...

随机推荐

  1. HTTP协议基础与web服务的重定向,跳转以及请求转发

    JavaWeb中,HttpServletRequest与HttpServletResponse几乎是处理各种请求与操作必备的参数,与原始的ServletRequest/ServletResponse相 ...

  2. THE First Individual Project - Word frequency program

    第一次写博客,这次也是本学期写到第一个程序. 老师要求网址:http://www.cnblogs.com/jiel/p/3311400.html#2777556 一.项目预计时间 一开始想使用不熟悉的 ...

  3. 【ML】Two-Stream Convolutional Networks for Action Recognition in Videos

    Two-Stream Convolutional Networks for Action Recognition in Videos & Towards Good Practices for ...

  4. Python小笔记

    最近在学习Python  以前也学过一些编程语言 但是都不扎实  由于工作的原因 需要学习Python做一些处理 刚开始学习总有多多少少的不适应  从今天开始打算将我在学习中遇到的困难以及疑问记录下来 ...

  5. Python学习笔记(二)——数据类型

    1.数据类型 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 2.Python数字类型 Pyth ...

  6. Java实现小学四则运算练习系统(UI)

    github项目地址 :https://github.com/feser-xuan/Arithmetic_test3_UI 小伙伴的博客链接:http://www.cnblogs.com/fukang ...

  7. Java用JSoup组件提取asp.net webform开发网页的viewstate相关相关参数

    /** * 从页面中提取特定input的的Value * @param formparams * @param document * @param elementId */ private void ...

  8. Windows Server 2008 双网卡 断网问题 总结

    实施现场的情况,一个网卡接得是聚合APN的子网,一个网卡是借得局域网. 运行一份数据收发程序,从APN网接入数据,发送给局域网,程序启动一会儿后就崩溃,此时测试网卡就Ping网关了,或者是时断时续,逐 ...

  9. Delphi处理Http请求自定义Header

    在HTTP请求中,get方法是默认的,但在URL地址长度是有限的,请求方法能传送的数据也是有限的,一般get方法传递的数据不能大于2KB,当get请求方法传递的数据长度不能满足需求时,就需要采用另一种 ...

  10. 震旦199打印机扫描A4文件

    1.需要扫描的A4文件放入输稿器 2.使用数据线将打印机.电脑连接 3.在电脑中右键打印机,选择扫描功能 4.如下图,选择选项后,点击扫描即可