首页 > 其他分享 >Cookie 、Session、localstorage、Sessionstorage的区别

Cookie 、Session、localstorage、Sessionstorage的区别

时间:2023-03-13 19:46:25浏览次数:43  
标签:存储 浏览器 服务器端 Session Cookie 服务器 localstorage 数据

 

概念

Cookie & Session(会话跟踪技术)、H4的存储机制;
localstorage、Sessionstorage是Web Storage,H5的本地存储机制。是针对HTML4中 Cookie 存储机制的一个改善,由于Cookie存储机制有很多缺点,HTML5不再使用它,转而使用改良后的 Web Storage 存储机制。
WebStorage两个主要目标:(1)提供 cookie 之外存储会话数据的路径。(2)提供跨会话持久化存储大量数据的机制。

Cookie

Cookie实际上是一小段的文本信息,是服务器发送到用户浏览器并保存在本地的一小块数据。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。当浏览器下次向同一服务器再发起请求时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。

 

对比Cookie,Web Storage的优点

① 存储空间更大
cookie为4KB,而Web Storage是5MB;

② 节省网络流量
Web Storage不会传送到服务器,存储在本地的数据可以直接获取,也不会像cookie一样每次请求都会传送到服务器,所以减少了客户端和服务器端的交互,节省了网络流量;

③ 对于那种只需要在用户浏览一组页面期间保存而关闭浏览器后就可以丢弃的数据,sessionStorage会非常方便;
④ 快速显示
有的数据存储在Web Storage上,再加上浏览器本身的缓存。获取数据时可以从本地获取会比从服务器端获取快得多,所以速度更快;

⑤ 安全性
Web Storage不会随着HTTP header发送到服务器端,所以安全性相对于cookie来说比较高一些,不会担心截获,但是仍然存在伪造问题;

⑥ WebStorage 提供比cookie更方便的数据操作的方法
setItem (key, value) —— 保存数据,以键值对的方式储存信息。
getItem (key) —— 获取数据,将键值传入,即可获取到对应的value值。
removeItem (key) —— 删除单个数据,根据键值移除对应的信息。
clear () —— 删除所有的数据
key (index) —— 获取某个索引的key

 

 

浏览器本地存储与服务器端存储的区别

数据既可以在浏览器本地存储,也可以在服务器端存储 。浏览器可以保存一些数据,需要的时候直接从本地存取,sessionStorage、localStorage 和 cookie 都是由浏览器存储在本地的数据 。服务器端也可以保存所有用户的所有数据,但需要的时候浏览器要向服务器请求数据。
1、服务器端可以保存用户的持久数据,如数据库和云存储将用户的大量数据保存在服务器端
2、服务器端也可以保存用户的临时会话数据,服务器端的 session 机制,如 jsp 的 session 对象,数据保存在服务器上,

服务器端保存所有的用户的数据,所以服务器端的开销较大;
而浏览器端保存则把不同用户需要的数据分别保存在用户各自的浏览器中,浏览器端一般只用来存储小数据

参考网址

https://blog.csdn.net/weixin_45950819/article/details/123105435

标签:存储,浏览器,服务器端,Session,Cookie,服务器,localstorage,数据
From: https://www.cnblogs.com/miangao/p/17212563.html

相关文章

  • cookie和session
    目录CookieCookie的由来什么是CookieCookie的原理查看CookieDjango中操作Cookie设置Cookie获取Cookie删除Cookie基于Cookie的登录校验sessionsession的由来Django中Session......
  • AngularJS实现cookie跨域
    前后端分离被越来越多的公司重视利用,然后带来的最棘手的问题就是,用户信息应如何保存。一、场景描述以Java为后台,AngluarJS做前端为例进行描述:当用户在界面登录时,需把用户......
  • vim session 使用
    一、保存项目信息保存和加载会话信息session会话信息:当前编辑环境的空窗口、所有的缓冲区、当前目录、折叠(fold)相关的信息、帮助窗口、所有的选项和按键映射、所有的标......
  • Session(重点)
    Session●服务器会给每一一个用户(浏览器)创建一个Seesion对象;●一个Seesion独占一个浏览器,只要浏览器没有关闭,这个Session就存在:●用户登录之后,整个网站它都可以访问!......
  • 3_sqlSession完成DML所有操作
     Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/myb......
  • 3_sqlSession完成DML所有操作
     Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/myb......
  • 3_sqlSession完成DML所有操作
    ​ Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.o......
  • 3_sqlSession完成DML所有操作
    ​ Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.o......
  • 1_sqlSession查询的三种方式
    ​ SqlSession对象本身的API中就有三个查询方法,分别能够实现如下查询方式1返回单个对象selectOne2返回对象List集合selectList3返回对象Map集合selectMap接下来......
  • 第128篇:浏览器存储(cookie、webStorage、 IndexedDB)
    好家伙,本篇为《JS高级程序设计》第二五章“浏览器存储”学习笔记 我们先来讲个故事一个“薅羊毛”的故事(qq.com)概括一下,就是有个人通过网络平台非法购买了大量“c......