填坑-十万个为何?(7)

简介:不少概念不清或忘记,从新构建本身的知识体系。天天问本身1~多个问题。我是菜鸟 成为大神之路!html

1. 浏览器有哪些存储方式?

2. Cookie 和 Session的机制?

(1)Cookie机制:link👁web

  • ①若是不在浏览器中设置过时时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie
  • ②若是在浏览器中设置了cookie的过时时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过时时间结束才消失,这种cookie简称久性 cookie

cookie是服务器发给客户端的特殊信息,cookie是以文本的方式保存在客户端,每次请求时都带上它数据库

(2)Session机制: 当服务器收到请求须要建立session对象时,首先会检查客户端请求中是否包含sessionid。若是有sessionid,服务器将根据该id返回对应session对象。若是客户端请求中没有sessionid,服务器会建立新的session对象,并把sessionid在本次响应中返回给客户端。一般使用cookie方式存储sessionid到客户端,在交互中浏览器按照规则将sessionid发送给服务器。若是用户禁用cookie,则要使用URL重写,能够经过response.encodeURL(url) 进行实现;API对encodeURL的结束为,当浏览器支持Cookie时,url不作任何处理;当浏览器不支持Cookie的时候,将会重写URLSessionID拼接到访问地址后。浏览器

3. 什么是久性cookie,会话cookie?

在 2 问服务器

①使用Cookie

4. 什么是Web Storage?

  • Web Storage存储机制是对HTML4中cookie存储机制的一个改善。因为cookie存储机制有不少缺点,HTML5再也不使用它,转而使用改良后的Web Storage存储机制。
  • 本地数据库是HTML5中新增的一个功能,使用它能够在客户端本地创建一个数据库,本来必须保存在服务器端数据库中的内容如今能够直接保存在客户端本地了,这大大减轻了服务器端的负担,同时也加快了访问数据的速度。

咱们知道,在HTML4中可使用cookie在客户端保存诸如用户名等简单的用户信息,可是,经过长期的使用,你会发现,用cookie存储永久数据存在如下几个问题:cookie

  • 1.大小:cookie的大小被限制在4KB。
  • 2.带宽:cookie是随HTTP事务一块儿被发送的,所以会浪费一部分发送cookie时使用的带宽。
  • 3.复杂性:要正确的操纵cookie是很困难的。

针对这些问题,在HTML5中,从新提供了一种在客户端本地保存数据的功能,它就是Web Storage。session

Web Storage又分为两种:网站

①sessionStorage(相关性质见③)

将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所通过的这段时间,也就是用户浏览这个网站所花费的时间。session对象能够用来保存在这段时间内所要求保存的任何数据。url

②localStorage(相关性质见③)

将数据保存在客户端本地的硬件设备(一般指硬盘,也能够是其余硬件设备)中,即便浏览器被关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然能够继续使用。spa

③cookie 、sessionStorage与localStorage的区别

这二者的区别在于,sessionStorage为临时保存,而localStorage为永久保存。

特性

cookie

Window.sessionStorage

Window.localStorage

数据生命周期

   设置了maxAge值,在这个周期内有效;

   默认没有设置,浏览器关闭时失效

存储在 sessionStorage 里面的数据在页面会话结束时会被清除。而且从新加载或恢复页面仍会保持原来的页面会话

数据存储在 localStorage 是无期限的,除非数据被清除不然一直存在

存放数据的大小

4096KB左右,一个域名能够有20-50cookie(浏览器内核不一样,标准也不一样)

通常5MB或更大

与服务器通讯

每次请求服务器会携带在HTTP请求头中

只有在使用数据时,请求使用数据,不参与和服务器通讯

语法

做用域

path 参数决定(同源策略)

同源策略

同源策略

API地址

www.runoob.com/js/js-cooki…

developer.mozilla.org/zh-CN/docs/…

developer.mozilla.org/zh-CN/docs/…

 

其他关于浏览器存储的内容 见第 8 天

参考文章
www.cnblogs.com/pengc/p/871…

相关文章
相关标签/搜索