1.cookie

由于HTTP是一种无状态的协议,服务器单从请求内容上无法判断客户身份。因此,cookie弥补这个缺陷,每次请求都携带cookie,这样服务器就能能知道不同的客户端请求了。

对于同一域名下的cookie数量是有限制的,一般在30个~50个。IE50个,FF50个,Opera30个,Safari/WebKit则没有限制个数。

对于cookie的总大小一般是有限制的。总大小一般为4k左右(IE4095B,Opera4096B,Firefox和Safari4097B),任何cookie大小超过限制都被忽略,且永远不会被设置。

path

path设置了哪些目录能够读取当前的cookie值。默认情况下是当前域名的根目录,即"path=/";

path设置的正确格式为'path=/test/';在path的设置过程中,一定要遵循相同的格式。

path属性具有继承性。如"path=/a/"设置的cookie能在/a/目录下以及/a/的子目录下进行访问。

path属性只可写,不可读。且path属性不可被覆盖,如果试图写一个cookie,除path不一样外其他都一样,那么其实是写了两个cookie值。

domain

domain设置了cookie的域名。一般情况下,就是默认当前域名。

当然,如果我们想把cookie写到当前域名的上级域名中,实现与当前域名处于平级的其他子域名是可以得。

比如,当前域名是a.qq.com,在设置domain=qq.com,那么qq.com的域名以及其各级子域名均可以访问到这条cookie值。

secure

cookie的安全性设置。如果将某条cookie设置为secure,那么将不会被通过http传输到服务端,只能通过https等安全性传输协议才会被传输到服务器端。这个过程对于浏览器和用户是透明的。

在http的域名下设置secure的cookie,是无法看到的。

设置为secure时能保证传输过程中数据被加密,但是本地保存的cookie并不加密。

HttpOnly

在服务端可以设置HttpOnly属性,这样一来,在客户端就无法访问到到这条cookie。能有效的预防xss攻击等。

escape和unescape

在cookie中,不能包含空格,逗号,分号等特殊字符,因此在写cookie的时候,需要先escape,在取cookie的时候需要unescape操作。

2.localStorage

localStorage是一种完全本地化存储。大小约5M。以键值对的方式进行存储。

存取方式大约有三种,如localStorage.a='a';

localStorage['a']='a';

lovalStorage.setItem('a')='a';等

localStorage是永久存储的,没有过期时间。除非用户手动清理。

3.sessionStorage

sessionStorage数据的存储仅特定于某个会话中,也就是说数据只保持到浏览器关闭,当浏览器关闭后重新打开这个页面时,之前的存储已经被清除。

sessionStorage的API同localStorage的API基本一样。

在对sessionStorage进行操作时,会出发window.onstorage事件。

cookie,localStorage,sessionStorage的更多相关文章

  1. jquery访问浏览器本地存储cookie,localStorage和sessionStorage

    前言:cookie,localStorage和sessionStorage都是浏览器本地存储数据的地方,其用法不尽相同:总结一下基本的用法. 一.cookie 定义: 存储在本地,容量最大4k,在同源 ...

  2. 浏览器本地储存方式有哪些?cookie、localStorage、sessionStorage

    现阶段,浏览器提供的储存方式常用的有三种,cookie.localStorage.sessionStorage 1.cookie 概念:cookie 是浏览器中用于保存少量信息的一个对象 基本特征: ...

  3. JS 详解 Cookie、 LocalStorage 与 SessionStorage

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

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

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

  5. 深入了解浏览器存储:对比Cookie、LocalStorage、sessionStorage与IndexedDB

    摘要: 对比Cookie.LocalStorage.sessionStorage与IndexedDB 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 随着移动网络的发展与演化,我 ...

  6. cookie、localStorage、sessionStorage的区别

    localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 共同点:sessionStorage.localStorage和cooki ...

  7. cookie、localStorage和sessionStorage三者的异同

    1.三者都是用来存储浏览器数据的 2.生命周期:cookie可以设置数据失效时间,默认是关闭浏览器后失效:localStorage中的数据是永久保存的,除非手动清除:sessionStorage的数据 ...

  8. 详解Cookie、LocalStorage、SessionStorage

    不管是笔试还是面试相信大家都会经常遇到问Cookie.LocalStorage.SessionStorage 这三个不同的,什么不说先上一波图先: 针对他们大小之分应用场景也有不同: 因为考虑到每个 ...

  9. 6.cookie、session,localStorage、sessionStorage

    必须在服务器下运行 cookie/session 存东西 cookie 时间 过期时间 4k 服务器把一部分数据保存在客户端(浏览器) session 回话 时间 服务器存取用户信息 5M local ...

随机推荐

  1. library cahce pin

    library cahce pin(库高速缓存pin)等待事件与库高速缓存并发性有关,当会话尝试在库高速缓存中钉住对象 以修改或检查该对象时产生该事件.会话必须获取(pin)以确保此时对象没有被其他会 ...

  2. BZOJ 1008 [HNOI2008]越狱

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5166  Solved: 2242[Submit][Status] ...

  3. BZOJ 1011 [HNOI2008]遥远的行星

    1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 2559  Solved ...

  4. C# 中dataTable中的数据批量增加至数据表中

    /// <summary> /// 批量添加 /// </summary> /// <param name="dt"></param> ...

  5. cryptopp开源库的使用(一):md5加密

    项目总是各种新需求,最近遇到需要对字符串进行md5加密,确保传输字符串的有效性. 考虑到跨平台性和通用性,选择了cryptopp开源库,这里主要是用静态库调用. 1.引入头文件和lib库 #inclu ...

  6. 2014-08-26 解决HttpContext.Current.Session在ashx文件中出现“未将对象引用设置到对象的实例”的问题

    今天是在吾索实习的第35天. 最近在使用HttpContext.Current.Session来获取Session["..."]的值时,常常会弹出错误——“未将对象引用设置到对象的 ...

  7. js到记时代码

    原文地址:http://www.w3school.com.cn/tiy/t.asp?f=hdom_timing_infinite html><head><script type ...

  8. Linq to Sql语法及实例大全

    LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的 ...

  9. Resizable 2th click not working

    here's a simple solution.  just destroy the resizable function, then rebuild it. try { $("#div& ...

  10. android获得屏幕高度和宽度

    获取屏幕的宽度与高度有以下几种方法: .WindowManager wm = (WindowManager) getContext()                     .getSystemSe ...