Simonzhangs' blog Simonzhangs' blog
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • JS设计模式总结
  • 《Vue》
  • 《React》
  • 《TypeScript 从零实现 axios》
  • TypeScript
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • apple music
  • extension
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Simonzhangs

前端学习探索者
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • JS设计模式总结
  • 《Vue》
  • 《React》
  • 《TypeScript 从零实现 axios》
  • TypeScript
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • apple music
  • extension
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • Nodejs

  • 博客搭建

  • Ajax

  • 计算机网络

    • 一篇文章了解cookie与session、token
      • 三者异同
        • 生命周期
        • 存放数据大小
        • http请求
        • 应用场景
    • Web开发常见攻击及应对方法
    • 浏览器渲染过程
    • WebSocket梳理
    • 35.TCP协议与UDP协议
    • HTTP常见状态码
    • DNS为什么使用UDP和TCP协议
    • HTTP协议相关总结
  • 计算机编译原理

  • 涨知识

  • 技术
  • 计算机网络
simonzhangs
2022-04-01
目录

一篇文章了解cookie与session、token

Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。

http是无状态的,对于用户登录后登录状态的保持是怎么做到的呢?答案是利用cookie、session和token来实现的。

cookie是直接存储在客户端,明文存储,对于用户信息来说是不安全的;

session是服务端存储的,基于cookie的session,服务器需要存储sessionID,并利用cookie形式发送给客户端;

考虑到大量用户登录时,sessionID的存储会占用过多内存,于是出现token;

token是生成于服务端,但是存储在客户端,服务端只需要对客户端携带的token进行验证。


网页刷新后,所有数据都会被情况,这个时候就要用本地技术,前端本地存储的方式有三种,分别是cookie、localStorage、sessionStorage。

# 三者异同

# 生命周期

cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效; localStorage:除非手动清除,否则会永久保存; sessionStorage:仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。

# 存放数据大小

cookie:4kb左右 剩余两个可以保存5MB的信息。

# http请求

cookie:每次都会携带在http头中 剩余两个都在浏览器中保存,不和服务器通信。

# 应用场景

cookie 用于识别用户登陆; localStorage 可以跨页面传递数据; sessionStorage 可以用来保存一些临时变量。

参考链接: https://www.cnblogs.com/l199616j/p/11195667.html

编辑 (opens new window)
上次更新: 2022/04/14, 22:05:28
freenom免费域名申请及设置域名解析
Web开发常见攻击及应对方法

← freenom免费域名申请及设置域名解析 Web开发常见攻击及应对方法→

最近更新
01
一些有意思的类比
06-16
02
the-super-tiny-compiler解析
06-06
03
计算机编译原理总概
06-06
更多文章>
Theme by Vdoing | Copyright © 2021-2022
蜀ICP备2021023197号-2
Simonzhans | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜