认证授权——session和cookie

一、session和cookie的由来(HTTP的无状态性)

1、很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP请求, 不用记住是谁刚刚发了HTTP请求,每个请求对我来说都是全新的。
2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了

二、什么是session会话?

  • session会话:在服务端用来存储会话ID,用户名、权限信息等的一小段文本信息。

三、什么是cookie?

cookie实际上就是客户端(浏览器)的一小段文本信息,
cookie的一些小知识:

  • Cookie具有不可跨域名性
  • 内存中存储的cookie保存在浏览器,浏览器关闭就没了
  • 硬盘中存储的cookie:根据过期时间来存储

四、 session工作原理

1.服务器准备建会话的时候,会先查看请求的cookie中是否包含会话信息,若果没有,服务器就在内存里,生成一个sessionID:XXXX
2.服务器会把这个sessionID连同返回信息发送到浏览器,浏览器会将session信息保存在cookie中。
3.之后每次浏览器去请求服务器的时候都会带着cookie(cookie中存储着sessionID等信息),这样服务器就会根据sessionID识别这个浏览器了发出的请求
4.服务器端可以在session中存放任意的会话数据。
5.每次浏览器访问服务器都可以凭借自己的sessionID到服务器中认领自己的信息
6.如果想销毁会话,服务端可以删除会话中的数据

猜你喜欢

转载自blog.csdn.net/peanutwzk/article/details/107637826