session模拟登录怎么传账号密码_Cookie和Session

e47dcf0d381853a86bf4399f25b6f9e3.png
很久之前面试曾经被问到一些Cookie和Session的相关知识, 当时回答的不是很好, 现在整理一下~
写于2019-4-10

需要先了解这些知识

HTTP请求是stateless(无状态)的请求, 所谓无状态, 即上一次请求和下一次请求无关联, 相互独立;

场景假设

你向服务端发起一个登录请求, 服务端校检你的账号密码之后确认你是本人并返回状态码为200的response, 客户端显示登录成功, 而过了一会儿, 你又发起一个需要登录的请求, 由于HTTP请求是无状态请求, 服务端并不知道你刚刚来过, 因此重新对你进行身份校检…你就很生气把电脑砸了!

Cookie和Session的作用

cookie和session便是为了~~让你不砸电脑~~解决这种情况而诞生的

先谈一下cookie, cookie会附带在每次的HTTP请求的请求头上, 主要用做用户标识

服务端为了让HTTP请求保留状态, 在用户进行发送登录请求并校检通过之后, 生成一个特定的序列号, 我们把它称为sessionId, 并将sessionId和对应的用户名做成映射, 保存在服务端( 作为文件保存, 或是保存在数据库, 或是其他方式... ), 并通过response将sessionId设置为用户客户端cookie; 因此, 在cookie没过期之前, 用户再次发起某个需要登录的请求, 服务端会根据请求附带的cookie(sessionId)判断出该用户之前已经进行过登录, 便不会再次进行用户身份校检~

总结

cookie保存在客户端, 一般作为用户信息标识, 附带在每次的HTTP请求的请求头中

session是一种依赖于客户端cookie的会话机制, 保存在服务端, 用于记录客户端的状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值