session、cookie、token的区别与联系

先看一下 一次http请求和响应的过程:

 

1. 域名解析 
2. 发起TCP的3次握手 
3. 建立TCP连接后发起http请求 
4. 服务器端响应http请求,浏览器得到html代码 
5. 浏览器解析html代码,并请求html代码中的资源 
6. 浏览器对页面进行渲染呈现给用户

首先,客户端会发送一个http请求到服务器端。
服务器端接受客户端请求后,建立一个session,并发送一个http响应到客户端,这个响应头,其中就包含Set-Cookie头部。该头部包含了sessionId。Set-Cookie格式如下,
Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]
在客户端发起的第二次请求,假如服务器给了set-Cookie,浏览器会自动在请求头中添加cookie
服务器接收请求,分解cookie,验证信息,核对成功后返回response给客户端

 

session、cookie和token值的区别:
(1)由于http是无状态的,服务端记录用户的状态时,需要用session识别用户,session是服务端保存的一个数据结构,跟踪用户状态;
服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,
服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用 cookie 的方式。

(2)cookie是客户端保存用户信息一种机制,用来记录用户的一些信息,为了防止被篡改,加了一些限制,数量有限;
(3)服务器返回给客户端的一个token值,客户端存储token值,并在每次请求时附送上token值,服务端验证token值并返回数据,安全机制;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值