当前位置:首页 > 服务端 > 实现用户登录到底使用cookie还是session?

实现用户登录到底使用cookie还是session?

2022年09月16日 20:03:14服务端4

我们一般都知道 cookie 是存在浏览器端的,session 是存在服务端的,但是实现用户登录具体是怎么用这两个东西的呢,今天来详细的说一下!

实现登录的两种方式

方式一:存储在客户端
将用户数据加密,然后存储在cookie中。这种专业术语叫做client side session。flask采用的就是这种方式,但是也可以替换成其他形式。

优点:cookie 保存在客户端,不占用服务器资源
缺点:存在安全问题,如果你的加密方式泄露,别人就可以模拟用户登录

方式二:存储在服务端
通过 session 得到一个 session_id 存储在 cookie 中,然后具体的数据则是保存在服务器 session 中。如果用户登录完成,则服务器会在 cookie 中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。

优点:安全性高
缺点:session 是保存在服务端的,每个用户都会产生一个session,并发访问多的话,每个用户都会生成session,消耗内存

如何判断使用哪种方式

cookie 保存在客户端,不占用服务器资源,对于并发比较高的网站并且安全性不需要特别特别高,建议使用方式一,如一些论坛之类的

session 是保存在服务端的,每个用户都会产生一个session,并发访问多的话,每个用户都会生成session,消耗内存,所以对于并发不高的网站,如后台管理系统,可以使用 session,更安全

更新

现在用 JWT 的比较多,可以看 这篇

作者:Lvan的前端笔记
来源链接:https://blog.csdn.net/weixin_43972437/article/details/106187588

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42236.html

标签: CookieSession
分享给朋友:

“实现用户登录到底使用cookie还是session?” 的相关文章

Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案

Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案

一、错误现象   [html]  view plain  copy     严重...

JUnit测试,异常BeanCreationException: Error creating bean with name 'sessionFactory'。Unable to get the default Bean Validation factory

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'departmentServiceImpl': Injection of resource fields fa...

启动项目报错:Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext.xml]:Invocation of init method failed

1.Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext.xml]:Invocation of init method failed...

浅谈Cookie和Session的初步理解

浅谈Cookie和Session的初步理解 前言        HTTP是无状态的协议,客户每次读取web页面时,服务器都打开新的连接,而且服务器也不会自动维护客户的上下文...

HTTP协议-Cookie和Session详解

HTTP协议-Cookie和Session详解

前言: 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的跟踪技术就是Cookie和Session。 Cookie通过在客户端记录信息确定用户身份,Session通过在服务器记录确定用户身份。 本章将系统的讲述Cookie和Sessio...

Servlet之cookie和session简介及其作用

Servlet之cookie和session简介及其作用

一、cookie和session简介 1.浏览器和服务器是多对一的关系 2.业务:登录时记录账号,后续的页面上显示此账号 3.使用如下对象存储账号都不行 request:多个请求之间共用账号,不能用request c...

cookie 和session 的区别详解

cookie 和session 的区别详解

这些都是基础知识,不过有必要做深入了解。先简单介绍一下。 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有...

java Cookie+Session实现自动登录

java Cookie+Session实现自动登录

       这是2016年的第一篇blog,首先在这里祝大家新年工作开心,平平安安,生活舒心,日子红红火火!        之前我们聊过PHP的自动登录,我们也非常详细的给大家分析了实现的原理...

php中session和cookie的使用及区别

1.cookie的使用 什么是 Cookie? cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。...

Jmeter之处理session、cookie以及如何做关联

Jmeter之处理session、cookie以及如何做关联

session和cookie的概念 关于session和cookie应该有很多文章都进行了一一说明,这里就不再重复赘述,我觉得有一个博客写的挺不错的!可以去参照他写的博客,写的非常的详细,比喻也非常的形象,看了之后秒懂! http://blog.csdn.net/axin6...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。