谈谈 cookie 和 session

我感觉八股文里面 Javaweb 问的其实不算多,我在面试的时候被问过 cookie 和 session,其他的就没问了,哦,还问了一下 servlet,感觉问来问去也就是这几个问的多一点。而对于cookie和session的回答,我答的不算太好,所以写一篇文章来重新梳理一下这个知识点。

假如你登录一个网站,你输入了用户名密码后,点击登录。这时候服务器拿到了你的用户名密码,首先会把它们放到数据库当中,然后服务器就会产生一个 cookie,这个 cookie 会携带着你的用户名密码发送给浏览器,浏览器会保存这个 cookie。你登录成功后,会弹出一个问你是否保存用户名密码的东西,你同意了,那下次你登录就不用输用户名密码了,浏览器将 cookie 传给服务器就行了(cookie 里面有你的用户名密码)。但现在问题来了,假如有人入侵你的电脑,看到了你浏览器里面的cookie,你 cookie 又有用户名密码,那你岂不是毁了?所以为了保证安全,我们引入了 session 这个概念。session 中文意思就是会话,我们还是用刚刚那个例子。你登录的时候,服务器拿到了你的用户名密码,然后将用户名密码保存到数据库后,服务器会根据用户名密码生成一个 sessionid,这个 sessionid 用来唯一标识你的用户名密码。这个 sessionid 是一个无规律的字符串。然后服务器建立一个 cookie ,将 sessionid 放入 cookie 中,传给浏览器,浏览器保存这个 cookie。等下次登录时,将这个 cookie 传给服务器,服务器看到 cookie 里面的 sessionid 后,会看看这个 sessionid 有没有对应的用户名密码,假如有那你就登录成功了。用了 sessionid 的话,即使你的电脑被黑了也没关系,黑客最多会看到你的 cookie 里面有一个 sessionid,他们看到的这个 sessionid 是一个无规律的字符串,所以根本不会知道你的用户名密码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/562530.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂IP地址

IP地址(Internet Protocol Address)是指互联网协议地址,是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址的主要特点是具有唯一性&#xff…

安卓手机系统跳过app启动广告软件

跳过广告关于此应用声明: 应用利用了安卓系统的辅助功能API,可以读取您手机屏幕上显示的所有内容,并且可以以您的名义进行屏幕点击等操作。* 轻量无广告,不联网,也不需要任何权限;* 请务必在系统设置中开启…

4 种策略让 MySQL 和 Redis 数据保持一致

先阐明一下 MySQL 和 Redis 的关系:MySQL 是数据库,用来持久化数据,一定程度上保证数据的可靠性;Redis 是用来当缓存,用来提升数据访问的性能。 关于如何保证 MySQL 和 Redis 中的数据一致(即缓存一致性问题…

springboot网站开发-本地图片正常-linux服务器报错500解决办法

springboot网站开发-本地图片正常-linux服务器报错500解决办法!在本地测试一切正常,发布到远程服务器后,就报错了,500. 经过仔细的分析,得出结论,是远程服务器linux对应的jar文件,安全级别限制…

微服务鉴权的几种实现方案

1.Token 1.1 Token透传(不推荐) 刚开始接触微服务时网上给的方案大都数是通过透传Token做鉴权,但我认为这种方式不是很妥当。接着往下看: 这种方式通过透传Token使得各微服务都能获取到当前登录人信息,在代码编写上确…

0103设计算法-算法基础-算法导论第三版

文章目录 一、分治法二、分析分治算法结语 我们可以选择使用的算法设计技术有很多。插入排序使用了增量方法:在排序子数组 A [ 1 ⋯ j − 1 ] A[1\cdots j-1] A[1⋯j−1]后,将单个元素 A [ j ] A[j] A[j]插入子数组的适当位置,产生排序好的子…

【数字图像处理matlab系列】数组索引

【数字图像处理matlab系列】数组索引 【先赞后看养成习惯】【求点赞+关注+收藏】 MATLAB 支持大量功能强大的索引方案,这些索引方案不仅简化了数组操作,而且提高了程序的运行效率。 1. 向量索引 维数为1xN的数组称为行向量。行向量中元素的存取是使用一维索引进行的。因此…

基于SSM+Jsp+Mysql的记账管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

基于SSM的花店商城系统+数据库+论文+免费远程调试

项目介绍: 基于SSM的花店商城系统。Javaee项目 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMvc MybatisMavenJsp来实现。MySQL数据库作为系统数据储存平台,实…

证书(公钥):网络安全的关键

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

全球大型语言模型(LLMS)现状与比较

我用上个博文的工具将一篇ppt转换成了图片,现分享给各位看官。 第一部分:国外大语言模型介绍 1,openai的Chatgpt 免费使用方法1:choose-carhttps://share.freegpts.org/list 免费使用方法2:Shared Chathttps://share…

springboot精品源码

springboot精品源码 所有项目都包括:源码数据库文件开题LW说明文档运行视频 请看主页资料联系。 项目类型包括: 1 SpringBoot学生心理咨询评估系统 2 基于SpringBoot的网上订餐系统 3 大学生租房平台的设计与实现 4 SpringBoot房屋租赁系统 5 基于SpringBoot的课…