7.9
好家伙,7.7,7.8连续两天没更
今天碰到一个词 uri鉴权,其实就是uri授权,然后不太明白,就去看了百度,查到的结果,是类似防盗链的意思,就是会在你的uri上附加授权信息(比如授权的权限,过期时间,等等),然后在拿到这个uri的时候进行解析,看是不是自己的。
在这个过程中呢,搜到了关于授权的四种方式:然后想起来之前面试的时候问了一个session和cookie的问题,回答的不好,重温一下。
session-cookie
cookie
首先http是无状态协议,服务器不会知道哪一个浏览器访问了它,因此需要一个标识来区分不同的浏览器。cookie就是这个管理服务器和浏览器之间状态的标识。cookie的原理是,浏览器第一次向服务器发送请求时,服务器在 response (响应)头部设置 set-cookie 字段,浏览器收到响应就会设置 cookie 并存储,在下一次该浏览器想服务器发送请求的时候就会在 request 头部带上cookie 字段,服务器收到cookie用来区分不同的浏览器
session
浏览器第一次访问服务端的时候,服务端会创建一次会话,在会话中保存浏览器的信息。session是保存在服务器段的,cookie是保存在客户端的,他们都是由服务器端生成的,
session-cookie 认证
- 服务器在第一次受到浏览器的访问的时候创建sesion,然后保存session。然后给这个session 生成一个唯一标识符 jsessionId,然后把唯一标识符 jsessionId放进 response(响应头中)
- 浏览器在接收到响应的时候,解析响应头,然后将jsessionId保存在本地cookie中,浏览器下次再向服务器请求的时候,带上jsessionId
- 服务器在接收到客户端的请求时,先去解析请求头中的cookie中的jsessionId,然后识别这个客户端