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以及区别的更多相关文章

  1. 【转】Session Cookie Token的区别

    Cookie cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能. cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保 ...

  2. cookie和session及token的区别联系

    1 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应,  尤其是我 ...

  3. cookie、session、token的区别与联系

    https://www.cnblogs.com/moyand/p/9047978.html cookie.session.token存在意义 http协议是无状态协议,请求之间是没有联系的,cooki ...

  4. Session 与 Token 的区别

    1. 为什么要有session的出现?答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的.如果要进行类似论坛登陆相关的操作,就实现不了 ...

  5. Session与Token的区别

    1. 为什么要有session的出现?答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的.如果要进行类似论坛登陆相关的操作,就实现不了 ...

  6. Session Cookie Token Json-Web-Token

    什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明"你是你自己"(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就 ...

  7. 29、前端知识点--session\cookie\token

    Java Token的原理和生成使用机制 https://yq.aliyun.com/articles/594217 Cookies Session Token 三者区别及应用场景 https://w ...

  8. cookie、session、token的区别

    一.  cookie 1.什么是cookie? Cookie 技术产生源于 HTTP 协议在互联网上的急速发展.随着互联网时代的策马奔腾,带宽等限制不存在了,人们需要更复杂的互联网交互活动,就必须同服 ...

  9. session/cookie/token

    1.cookie是把登录信息存放在客户端 2.session是把登录信息存放在服务器 3.token是在登录的时候服务器提供一个令牌标识,可以存放在local storage,请求资源时带上token ...

随机推荐

  1. jQuery最后案例:商标展示

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  2. Java抽象类(abstract)

    抽象类和接口 一.抽象类 1.什么是抽象类? 类和类之间具有共同的特征,将这些特征提取出来,形成的就是抽象类. 类到对象是实例化,对象到类是抽象. 抽象类和具体类是相对的概念."抽象&quo ...

  3. jekins

    上面是:maven配置 git安装: 容器安装: 容器配置与发布: 添加安全认证(如果tomcat没有设置密码这里也不需要设置:) 访问尝试:本地测试前置practice_war的影响 Jekins实 ...

  4. 高德地图——添加标记的两种方法&删除地标记的两种方法

    添加标记: 1.marker.setMap(map); 2.marker.add([marker]); 删除标记: 1.marker.setMap(null); 2 map.remove([marke ...

  5. JS方式实现隐藏手机号码中间4位数

    1.截取 function test (value) { const start = value.slice(0, 3) const end = value.slice(-4) return `${s ...

  6. Asp.NetCore ResposeCache 缓存的使用

    先小结一下: 缓存策略: [ResponseCache(CacheProfileName ="default30")] 直接使用缓存,30秒过期: [ResponseCache(D ...

  7. 基于Linux系统的MariaDB数据库的安装配置

    数据库是指长期存储在计算机内.有组织的和可共享的数据集合.表是数据库存储数据的基本单位,一个表由若干个字段组成 MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 G ...

  8. 简单C++线程池

    简单C++线程池 Java 中有一个很方便的 ThreadPoolExecutor,可以用做线程池.想找一下 C++ 的类似设施,尤其是能方便理解底层原理可上手的.网上找到的 demo,基本都是介绍的 ...

  9. 微信小程序基础知识笔记

    微信小程序笔记 文件构成 全局文件 app.json 小程序全局配置文件,必要,自动生成 app.js 小程序入口JS文件,一般只需申明全局变量.处理生命周期以及版本升级即可,必要 app.wxss ...

  10. 移动端ios上下滑动翻页事件失效

    移动端开发过程中,在添加上下滑动事件时候,引入了最常用的移动端库zepto.js及其touch模块,有一种现象,安卓的手机没有问题,上下滑动翻页很正常 :但是到了ios上面,好啊,上下滑动会出现弹性滚 ...