web 会话管理(一)


prtyaa
prtyaa 2023-12-28 16:00:18 65180
分类专栏: 资讯

Session与cookies自动保持会话

由于http是无状态的,所以每次浏览器访问服务器,http都不知道你是谁,第一次访问服务器你是一个新来的人,第二次访问服务器还是一个新来的人。

那怎么样才能确定关系呢?保持相识的关系呢?通过+标记和打标签,在http头里有东西,比如 User-Agent(UA)

UA会提交到服务器上,服务器也可以拿到UA的信息,但是UA无法标记这个用户是谁,所以不能用UA来标记用户。

所以,就出现了请求打进来之后,服务器会生成一个唯一的字符串绑定用户(session),存到服务器端,然后下发到客户端(浏览器存住下次再通过浏览器访问,服务器就知道是谁来访问了)(这个存在于客户端的字符串写入到cookies里)。字符串包括了过期时间等等。这里过期时间在shiro中的Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。这个功能就是cookie的过期时间,永不过期就是记住我,设置session的有效期就是永不过期。

 

这样的话,就可以每次访问网站的时候留下相同的轨迹,我就知道你是谁了,这个和登录不登录没关系,不登陆也能记住你

Token是什么:

服务器不再下发给浏览器一个字符串,去把这个字符串写入cookies里,不去这样做。而是直接下发一个字符串,这个字符串可以写入cookies里,也可以不写入cookies里,如果浏览器禁用了cookies,那么就每一次请求点击的时候都加上这个字符串去访问服务器,这个字符串就是token。比如说xxx.action?token="sajdhjsakd" token也是一个服务器端生成的session字符串。token不基于cookies,token可以跨平台

 

浏览器同源策略:

浏览器同源指的是,协议,域名,端口号都相同,http和https属于不同的协议,端口号就不说了都懂,域名不一样例如,一个是.com,另一个是.cn

服务端生成的字符串,作用于同源,访问了一个网站使用了token,cookies,那么访问和刚才那个网站差不多的网站要不要再使用这个字符串,相同的源使用相同的会话机制 ,假如访问了1号网站http:// 再访问2号网站https:// 即使剩下的网址都一样,那么也是不同源,也就不能再使用上面所说的字符串了。登录了1号网站再登录2号网站就不好使了,作用域作用不到2号网站。举个例子说一下什么叫同源:

http:// baidu.com/vip.html

http是协议,不同协议的,不属于同源

baidu.com是域名 vip.baidu.com 不是同源

/vip.html 这属于资源地址,无所谓的 例如 http: // baidu.com/v1/vip.html 这是同源的

浏览器的同源策略是一种安全功能,同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。所以a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。

不同源就形成了跨域,跨域的都是不同源的。

在 http:// baidu.com/vip.html 页面里,用iframe src img js ajax 引用了

http:// baidu.com/vip1.html 这个里面的东西,这样会话是可以带过去的,但是引用的不同源的话,会话是带不过去,但是能访问

也就是 不同源 能读,但是会话带不过去

跨域:

<script> <img> <iframe> <link> <video> 这些标签都可以发起跨域请求

不同源的跨域请求,浏览器提供的安全机制 。

jsonp跨域访问原理

此方法只能发起GET请求,通过jsonp发送的请求,会随带 cookie 一起发送。

CORS

在浏览器中指定Origin来源,如果在服务器接受范围,请求则成功

CORS与JSONP的使用目的相同,但是比JSONP更强大。

JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31748
赞同 0
评论 0 条
prtyaaL3
粉丝 1 发表 2554 + 关注 私信
上周热门
Kingbase用户权限管理  2027
信刻全自动光盘摆渡系统  1757
信刻国产化智能光盘柜管理系统  1426
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1029
银河麒麟打印带有图像的文档时出错  934
银河麒麟添加打印机时,出现“server-error-internal-error”  722
麒麟系统也能完整体验微信啦!  663
统信桌面专业版【如何查询系统安装时间】  640
统信操作系统各版本介绍  632
统信桌面专业版【全盘安装UOS系统】介绍  606
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!