美文网首页
web前端面试之浏览器加载与存储(码动未来)

web前端面试之浏览器加载与存储(码动未来)

作者: share_tiger | 来源:发表于2018-12-22 12:17 被阅读0次

    web前端面试之浏览器加载与存储(码动未来)

    1.2.1、HTML5的离线储存怎么使用,工作原理能不能解释一下?

    在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。

    原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线

    存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。

    如何使用:

    1、页面头部像下面一样加入一个manifest的属性;

    2、在cache.manifest文件的编写离线存储的资源;

        CACHE MANIFEST

         #v0.11

        CACHE:

         js/app.js

        css/style.css

         NETWORK:

        resourse/logo.png

        FALLBACK:

        / /offline.html

    3、在离线状态时,操作window.applicationCache进行需求实现。

    1.2.2、浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?

    1.在线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。如果已经访问过app并且资源已经离线存储了那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。

    2.离线的情况下,浏览器就直接使用离线存储的资源。

    1.2.3、请描述一下 cookies,sessionStorage 和 localStorage 的区别?

    cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。cookie数据始终在同源的http请求中携带(即使不需要),即会在浏览器和服务器间来回传递。

    sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念。sessionStorage是在同源的同窗口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一页面,数据仍然存在。关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的cookies会发送到服务器端。

    存储大小:

    cookie数据大小不能超过4k。

    sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

    有期时间:

    localStorage存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;

    sessionStorage数据在当前浏览器窗口关闭后自动删除。

    cookie设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭

    1.2.4、如何实现浏览器内多个标签页之间的通信? (阿里)

    WebSocket、SharedWorker;也可以调用localstorge、cookies等本地存储方式;

    localstorge另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,我们通过监听事件,控制它的值来进行页面信息通信;

    注意quirks:Safari 在无痕模式下设置localstorge值时会抛出 QuotaExceededError 的异常;

    1.2.5、webSocket如何兼容低浏览器?(阿里)

    Adobe Flash Socket、

    ActiveX HTMLFile (IE)、

    基于multipart编码发送 XHR 、

    基于长轮询的XHR

    QQ技术交流群:815302226

    相关文章

      网友评论

          本文标题:web前端面试之浏览器加载与存储(码动未来)

          本文链接:https://www.haomeiwen.com/subject/gkjikqtx.html