简单介绍session,cookie,token以及区别
Cookie简介
①.是由服务器发给客户端的特殊信息,以文本的形式存放在客户端
②.客户端再次请求的时候,会把Cookie回发给服务器
③.服务器接收到后,会解析Cookie生成与客户端相对应的内容
Cookie的设置与发送过程分以下四步:(cookie的实现方式)
客户端发送一个http请求到服务端
服务端发送一个http响应到客户端,其中包括了Set-Cookie的头部
客户端再发送一个http请求到服务器端,包括了cookie头部
服务器端发送一个http响应到客户端
Session简介
①.服务器端的机制,在服务器上保存的信息
②.解析客户端请求并操作session id ,按需保存状态信息
Session的实现方式
使用cookie实现
服务器给每一个session分配唯一的JSessionID,并通过cookie发送给客户端,当客户端发起新的请求时候,将在cookie头中携带JSessionID,这样服务器能够找到客户端对应的session
使用URL地址回写
当服务器发送给浏览器页面的所有链接中,都携带JSessionID的参数,这样客户端点击任何一个链接,都会把JSessionID带回服务器,如果直接在浏览器输入服务端资源的URL来请求该资源,那么session是请求不到的
区别
session就是会话,是存储在服务器端,有一个用户访问网站,服务器就会开一块区域来保存session信息,比如sessionId,登录信息等,可以自定义保存各种会话相关的信息。可以理解为一个状态列表,拥有一个唯一识别符号sessionId,通常存放于cookie中,依赖cookie。服务器收到cookie后解析出sessionId,再去session列表中查找,才能找到相应session。
cookie是客户端浏览器上的,也可以理解为浏览器端,也是用来保存各种自定义信息,装有sessionId浏览器通常会自动添加。有了cookie,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别 cookie 并鉴定出是哪个用户,然后再判断用户是否是登录状态,进而返回对应的响应。
不过cookie容量小,现在被h5的缓存替代了,就是localStorage和sessionStorage,cookie一般用不到了。
token是登录的标识,是我们自己定义的一种业务信息,可以存到session、cookie、h5缓存、redis,根据你业务的需要来生成和存放,用户信息都被加密到token中,服务器收到token后解密就可知道是哪个用户,需要开发者手动添加。
附加一道面试题
我们怎样利用 Cookies 保持状态呢?
当客户端第一次请求服务器时,服务器会返回一个响应头中带有 Set-Cookie 字段的响应给客户端,用来标记是哪一个用户,客户端浏览器会把Cookies 保存起来。当浏览器下一次再请求该网站时,浏览器会把此 Cookies 放到请求头一起提交给服务器,Cookies 携带了 Session ID 信息,服务器检查该 Cookies 即可找到对应的 Session 是什么,然后再判断 Session 来以此来辨认用户状态。
简单介绍session,cookie,token以及区别的更多相关文章
- 【转】Session Cookie Token的区别
Cookie cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能. cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保 ...
- cookie和session及token的区别联系
1 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我 ...
- cookie、session、token的区别与联系
https://www.cnblogs.com/moyand/p/9047978.html cookie.session.token存在意义 http协议是无状态协议,请求之间是没有联系的,cooki ...
- Session 与 Token 的区别
1. 为什么要有session的出现?答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的.如果要进行类似论坛登陆相关的操作,就实现不了 ...
- Session与Token的区别
1. 为什么要有session的出现?答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的.如果要进行类似论坛登陆相关的操作,就实现不了 ...
- Session Cookie Token Json-Web-Token
什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明"你是你自己"(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就 ...
- 29、前端知识点--session\cookie\token
Java Token的原理和生成使用机制 https://yq.aliyun.com/articles/594217 Cookies Session Token 三者区别及应用场景 https://w ...
- cookie、session、token的区别
一. cookie 1.什么是cookie? Cookie 技术产生源于 HTTP 协议在互联网上的急速发展.随着互联网时代的策马奔腾,带宽等限制不存在了,人们需要更复杂的互联网交互活动,就必须同服 ...
- session/cookie/token
1.cookie是把登录信息存放在客户端 2.session是把登录信息存放在服务器 3.token是在登录的时候服务器提供一个令牌标识,可以存放在local storage,请求资源时带上token ...
随机推荐
- python turtle的使用
turtle.pendown() # 放下画笔 turtle.penup() # 抬起画笔 turtle.pensize(int) # 设置画笔宽度,值为整数型 turtle.forward(f ...
- css - 行高
css - 行高 line-height行高 取值:px | em | rem | 百分比 | 纯数字 | normal | inherit 设置给:块.行内.行内块 应用给:文本 继承:块.行内.被 ...
- 并发容器之ConcurrentHashMap(转载)
Java并发编程:并发容器之ConcurrentHashMap(转载) 下面这部分内容转载自: http://www.haogongju.net/art/2350374 1.7与1.8有很大的区别:h ...
- Buffer和Cache的异同
Buffer的本质是缓冲,常见实例如下面这个: 对,就是铁道端头那个巨大的弹簧一类的东西.作用是万一车没停住(是没停住啊,刹车了但是差一点没刹住那种,不是不拉刹直接撞上来),撞弹簧上减速降低危险,起到 ...
- go GC垃圾回收原理
目录 1.前言 2. 垃圾回收算法 3. Golang垃圾回收 3.1 垃圾回收原理 3.2 内存标记(Mark) 3.3 三色标记 3.4 Stop The World 4. 垃圾回收优化 4.1 ...
- JobExecutionContext中的JobDataMapjob与Detail与Trigger中的JobDataMapjob
public static void main(String[] args) { //配置模式 build模式 //1.实例一个JOB JobDetail jobDetail = JobBuilder ...
- dpkg:处理 xxx (--configure)时出错解决办法,也可用于卸载软件出错的情况
dpkg:处理 xxx (--configure)时出错解决办法今早安装nfs时出现问题,找到该文,备份留用.然后在网上找到了这片文章,按步骤走就解决了,中间会提示自动卸载一下,执行那个命令就好了,我 ...
- MySQL-后知知觉的索引
什么是索引? 索引在MySQL中也叫做"键",是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能 非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重 ...
- Linux定时任务(详细)
Linux定时任务一.首先查看是否安装了crontab[root@master ~]# rpm -qa |grep crontabcrontabs-1.11-6.20121102git.el7.noa ...
- Qt 自定义事件
Qt 自定义事件很简单,同其它类库的使用很相似,都是要继承一个类进行扩展.在 Qt 中,你需要继承的类是 QEvent. 继承QEvent类,你需要提供一个QEvent::Type类型的参数,作为自定 ...