web存储

Created at 2016-10-29 Updated at 2016-10-29 Category 学习 Tag 后台

web storage

cookie与session

  • cookie

    Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。

    为什么需要Cookie? 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分 是不是来源于同一个浏览器。所以,需要额外的数据用于维护会话。 Cookie 正是这样的一段随HTTP请求一起被传递的额外数据。

    Cookie能做什么? Cookie只是一段文本,所以它只能保存字符串。而且浏览器对它有大小限制以及 它会随着每次请求被发送到服务器,所以应该保证它不要太大。 Cookie的内容也是明文保存的,有些浏览器提供界面修改,所以, 不适合保存重要的或者涉及隐私的内容。

    Cookie 的限制。 大多数浏览器支持最大为 4096 字节的 Cookie。由于这限制了 Cookie 的大小,最好用 Cookie 来存储少量数据,或者存储用户 ID 之类的标识符。用户 ID 随后便可用于标识用户,以及从数据库或其他数据源中读取用户信息。 浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量。大多数浏览器只允许每个站点存储 20 个 Cookie;如果试图存储更多 Cookie,则最旧的 Cookie 便会被丢弃。有些浏览器还会对它们将接受的来自所有站点的 Cookie 总数作出绝对限制,通常为 300 个。

  • session

    session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。

    注:为这个用户创建的Cookie的名称是aspsessionid。这个Cookie的唯一目的就是为每一个用户提供不同的身份认证。

  • cookie 和session 的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。两个都可以用来存私密的东西,同样也都有有效期的说法

  • cookie 和session 的区别

    1. cookie数据存放在客户的浏览器上,session数据放在服务器上。

    2. cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
      考虑到安全应当使用session。

    3. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
      考虑到减轻服务器性能方面,应当使用COOKIE。

    4. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

web storage

在客户端存储数据

HTML5 提供了两种在客户端存储数据的新方法:

  • localStorage - 没有时间限制的数据存储
  • sessionStorage - 针对一个 session 的数据存储
  1. local storage

    localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

    如何创建和访问 localStorage:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    window.onload=function(){
    localStorage.setItem('lastName','wenqiang')
    localStorage.firstName = 'mi'
    console.log(localStorage.getItem('lastName'))
    localStorage.clear()
    }
    </script>

    方法:

    length 获取存储的键值对的数量

    emainingSpace 获取存储空间剩余空间的大小

    setItem(key, value) 将value值存储到本地的key字段

    removeItem(key) 删除指定key本地存储的值

    getItem(key) 获取指定key本地存储的值

    clear() 删除localStorage中存储的所有数据

    key(index) 根据索引获取一个指定位置的键名

  2. sessionStorage 方法

    sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

    sessionStorage 的用法等同于localStorage

JSON

  • JSON是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

  • JSON 是轻量级的文本数据交换格式

  • JSON 独立于语言 *

  • JSON 具有自我描述性,更易理解

  • JSON方法

    1. JSON.parse() 将一个json格式字符串转换为js对象

    2. JSON.stringify() 将js对象转换成json格式的字符串

Site by Mickey using Hexo & Random

Hide