首页 > 其他分享 >cookie、session、sessionStorage、localStorage的区别和联系

cookie、session、sessionStorage、localStorage的区别和联系

时间:2022-10-29 12:23:13浏览次数:42  
标签:存储 sessionStorage sessionID session cookie localStorage

一、几个概念

·cookie、session,会话跟踪技术,H4的存储机制

·localStorage、sessionStorage是web Storage,H5的本地存储机制。

·web Storage是针对H4中cookie存储机制的改善,主要提供cookie之外的存储会话数据的路径,跨会话、持久化存储大量数据。

 

二、cookie、session区别

·作用及存储位置:它们都用户记录客户状态,不过cookie保存在客户端,session保存在服务器端,且session依赖cookie,因为sessionID存在cookie中。

·存储内容及大小:cookie以文本的形式,只能保存字符串类型,且大小为4kb左右;session通过类似hashtable的数据结构保存,能支持任意类型的对象,大小没有限制。

·区分路径及跨域问题:cookie设置了路径参数,则同一网站中不同路径下无法互相访问cookie,cookie通过设置后缀属性即可跨域名访问;session不能区分路径,同一用户访问期间,所有网页都可以互相访问session,session仅能在所在域名内生效。

·安全性:session安全性大于cookie,因为:

1.sessionID是加密的;

2.sessionID存储在cookie中,需要攻破cookie后才能拿到;

3.sessionID需要在用户登录后或者启动session_start才会出现,所以攻破cookie也不一定能拿到sessionID;

4.第二次启动session_start后,前一次的sessionID会失效,session过期后,sessionID也会失效

所以攻击者必须在短时间内攻破加密的sessionID,这很困难。

三、cookie、sessionStorage、localStorage区别

·写入方式及大小:cookie由服务端写入,cookie大小约为4KB;sessionStorage、localStorage则由客户端写入,大小约为5MB。

·生命周期:cookie在写入时就已由服务端设定,sessionStorage的生命周期持续到页面关闭,localStorage的生命周期一直存在,直至手动清除;

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

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

 

标签:存储,sessionStorage,sessionID,session,cookie,localStorage
From: https://www.cnblogs.com/jackdongdong/p/16838436.html

相关文章

  • JavaScript--cookie
    一、概述cookie总是保存在客户端中(浏览器端)。cookie为了保存sessionID出现的。cookie的出现解决了http无状态的问题。二、特性cookie是不安全的cookie是可以被篡......
  • vuex和浏览器【sessionStorage,localStorage ..】 得区别
    1.Vuex的主要作用是用来共享和管理数据,那为什么不直接使用浏览器缓存呢?2.Vuex和浏览器缓存策略的根本区别是什么?3.Vuex,state仓库中的数据流是单向同步的,那为什么可以在act......
  • python 网页登录了之后拿着cookie直接用于脚本程序获取api接口数据
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#python3.7cookieurllib3,requests##pipinstallrequests#分析网站数据源接口规律#当前......
  • cookie
    cookie安全securehttpshttpOnly预防xssdocument.cookie×sameSite预防csrfstrict:cookie只发送给它的来源站点默认:laxcookieName前缀_Host-(与secure属性一起......
  • flask之flask_session
    flask-session-Flask中session处理机制(内置:将session保存在加密cookie中实现)-请求刚到来:获取随机字符串,存在则去"数据库"中获取原来的个人数据,否则创建一......
  • LocalStorage与SessionStorage
    LocalStorage与SessionStorage 数据的存储有两个方式存储在数据库存储于本地(一般作用于:历史记录,搜索记录,定位信息,配置信息) webStorage中分为sessi......
  • cookie
    Cookie概述:cookie是解决http的无状态的cookie的特性cookie是存储在浏览器上的cookie的存储大小为4kbcookie会随着请求发送cookie可以跨域(设置domain),默......
  • ERROR 1694 (HY000): Cannot modify @@session.sql_log_bin inside a transaction
    MySQL执行sys.diagnostics存储过程如下报错root@localhost[(none)]>callsys.diagnostics(null,null,'current');+-------------------+|summary|+-----......
  • 【JavaWeb】会话的学习笔记:Cookie和Session的知识点,这一次我总算学明白了
    @[Toc]1会话1.1什么是会话?用户打开浏览器,访问Web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。1.2会话跟踪一种维护浏览器状......
  • PHP session数组输出(遍历输出)
    做购物车弄的下边是存储的sessionvar_dump的结果,我想遍历数组输出里边的信息,如编号名称价格等array(size=3)'C00000013'=>array(size=5)'id'=>string......