zoukankan      html  css  js  c++  java
  • 请描述一下cookies、sessionStorage、localStorage、session四者的区别?

    存储大小:
      cookie在4K以内。
      sessionStorage和localStorage在5M以内。


    有效时间:
      cookie:如果未设置过期时间,关闭浏览器时清空;如果设置了有效时间则在到期后清空。
      sessionStorage:关闭浏览器时清空。
      localStorage:关闭浏览器不清空,手动清除时清空。


    数据与服务器之间的交互方式:
      cookie:自动携带数据发送到服务器。
      sessionStorage和localStorage不自动发送数据给服务器,仅在本地保存。


    数据作用域:
      cookie和localStorage在同源窗口可以共享。
      sessionStorage即使在同源窗口也不共享。


    storage事件:
      cookie和sessionStorage不支持。
      localStorage支持。


    path路径:
      cookie有路径的概念,可以限制cookie只属于某个路径下。
      sessionStorage和localStorage没有path的概念。


    易用性:
      原生的cookie接口不友好,需要自己封装。
      sessionStorage和localStorage的接口调用更方便。

    cookie和session有什么联系和区别:

    cookie:浏览器用来保存用户信息的文件,可以保存用户是谁,购物车中有哪些商品。
    session:指我们访问网站的一个周期。用户打开一个站点,然后点击多个超链接查看各个网页,然后关闭浏览器,这个过程称为一个会话。

    因为http协议是无状态的协议,也就是网页一旦关闭,浏览器和服务端的连接就会断开,下次打开网页又要重新连接,这样可以缓解服务器压力,但是随着网页内容越来越丰富,
    单词请求成本增加,这样的效率就降低了。使用cookie和session可以缓解这种问题。

    联系和区别:
    session需要借助cookie才能正常工作。
    (1)存储位置:cookie存放在客户端,session存放在服务端。
    (2)安全:cookie的安全性不是很高,任何人都可以在控制台输入document.cookie获取到cookie,考虑安全性应该要使用session。
    (3)效率问题:session会在一定时间保存在服务器上,访问增多服务器压力增大,考虑到服务器性能应当使用cookie。
    (4)大小:cookie的大小不能超过4K,session没有大小限制。
    (5)登录信息等重要的信息存放在session中,其他信息可以放在cookie中。

  • 相关阅读:
    js绑定事件方法:addEventListener的兼容问题
    jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别讲解
    jQuery事件绑定函数:on()与bind()的差别
    click事件的累加绑定
    HTML标签marquee实现滚动效果
    原生js添加类名,删除类名
    CSS相邻兄弟选择器
    视差滚动
    纯js实现分页
    下拉加载更多内容(滚动加载)
  • 原文地址:https://www.cnblogs.com/wuqilang/p/11204668.html
Copyright © 2011-2022 走看看