zoukankan      html  css  js  c++  java
  • cookie,localStorage,sessionStorage

    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事件。

  • 相关阅读:
    android 4.0 support sf mkv parser on GB.
    Android关于OutOfMemoryError的一些思考
    android devices offline
    Android 查看内存使用情况
    android模块编译,mm,mmm
    eclipse老是building workspace及自动更新问题,eclipse加速
    如何在android native编程中使用logCat
    ANDROID 静音与振动
    android中sim卡相关操作
    真机缺少com.google.android.maps.jar解决方法:
  • 原文地址:https://www.cnblogs.com/dacuotecuo/p/4774698.html
Copyright © 2011-2022 走看看