cookie session token

【一】浏览器保存状态

【1】http请求的特点#

# 1.无状态
每一次的http请求,浏览器都不会保存当时的状态,如用户的登录

# 2.无连接
每个http请求都是一次独立的交互,无连接也可以称为短链接,因为只有发送请求以及得到响应的那么一刻时间服务端和浏览器会有连接,他的连接生命周期非常短暂

# 3.基于请求响应
http协议是基于浏览器发送请求,客户端响应数据这一种模式的

# 4.是基于应用层的协议
是基于tcp/ip的协议

【2】保存状态的方法#

  • 因为http无状态这一个特点,浏览器无法满足一些网站的功能,如需要用户登录之后才能渲染的页面,因此推出了一下几种方法
  • Cookie,Session,Token

【二】保存状态的方法

【1】Cookie#

  • cookie是有服务器生成,发送给浏览器,保存在浏览器的一堆kv键值对
  • cookie的组成有:名称,值,有效域、路径、失效时间、安全标志
  • 比如当用户在输入用户名密码进行登录的时候,浏览器发送请求,服务器响应数据中会包含一个set_cookies的数据,浏览器就可以保存下来这些数据,下次发送请求就会带上这些数据,服务器就能认识这些数据,并且响应对应的内容

一个cookie的设置以及发送过程分为以下步骤

  1. 浏览器发送一个http请求到服务器
  2. 服务器生成一个set_cookies打包到response数据里面发给浏览器
  3. 浏览器识别cookies并且将其保存到本地
  4. 下一次发送http请求就会携带cookies数据
  5. 浏览器识别cookie并且响应对应的数据

【2】session#

  • session的意思是绘画。客户端于服务器的一次请求就会产生一个session,服务器使用session将用户的信息保存在服务端。这将要比cookie保存在浏览器作为标识安全一些

seesion的设置以及发送过程分为以下步骤

  1. 浏览器发送一个http请求到服务器
  2. 服务端创建一个唯一的Session ID,并将其于 用户相关联,最后将其打包到response数据发给浏览器
  3. 浏览器将Session ID保存在cookie里面
  4. 浏览器发送请求,并且把Session ID也发过去
  5. 浏览器解析Session ID,找到唯一对应的用户,响应相应的内容

作者:Esofar

出处:https://www.cnblogs.com/Hqqqq/p/18149545

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   HuangQiaoqi  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示