HTTP1.1(十二)Session及第三方Cookie的工作原理

一  第三方Cookie的工作原理

①  案例引入

案例讲解: '登陆'站点场景下,Cookie和Session是如何'结合'的

1)第2步中与'mysql'持久化数据库做'对比'

  [1]、比对成功会把'已经登陆的状态'生成一个session

  [2]、这个session是'有时效'的,一般几个小时或者几天,过期后就'不能'使用了

  [3]、记录一个session_id,这个'session_id_value'就记录到'数据库'中

  [4]、记录的'value'信息:哪个用户登陆'多长时间'是有效,以及'用户信息'等状态信息

2)第4步中通过Set-Cookie形式将'session_id'返回给浏览器,浏览器将再Storege中保存Cookie

②  更改 cookie JSESSIONID 名称

jsessionid是'Servlet/JSP Server'中防止'客户端屏蔽cookie'而在URL中放置sessionid的统称

支持servlet标准的'web容器',例如tomcat,它在'web.xml'中定义,例如:

<session-config>
   <session-timeout>10</session-timeout>
    <cookie-config>
        <name>MY_JSESSIONID</name>
    </cookie-config>
</session-config>

说明:session将在'10分钟'后超时

如何通过原生Java代码修改JSESSIONID的生命周期?

③  无状态的REST架构 VS 状态管理

④  第三方Cookie

目的: 收集用户的'个人'信息

典型:  知道你'曾经'浏览了什么信息,给你'推送'

遇到: 在淘宝'浏览'茶叶商品时候,'vivio浏览器'就给我'推荐'茶叶

细节: 携带cookie跨域名'访问第三方网站'是浏览器'自动'完成的

++++++++++++++++++ "场景" ++++++++++++++++++

1) client'访问'A网站,A网站'嵌入了'B网站的资源,'B'网站返回'Set-Cookies'保存到'B网站'域下

   备注: 查看'页面'的源代码,可以看到'内嵌'的资源

2) 用户后续'直接'访问'B'网站的时候,会'自动携带'B网站下的Cookie

++++++++++++++++++ "如何观察第三方网站没有携带Set-Cookies" ++++++++++++++++++

1) wireshark抓包查看

2) 看Application面板对应'域'下的Cookie,看'最终结果'

备注:受制于'chrome版本',chrome抓包面板'无法观察'到第三方网站携带Set-Cookies字段

1) domain 属性是指可以'访问该 cookie' 的域名

2) 谁发起的'请求',cookie就保存发起请求对应的'域名'下

备注:由于'B'资源嵌入到A中,所以获取B资源的时候,相当于'A'发起的请求,cookie自然保存到'A'域下

chrome浏览器怎么禁用第三方cookie

不同主域下cookie为什么可以共存

⑤  答疑解惑

说明: 一般常用'第三方 Cookie' 结合 'Referer' 请求头来确定'来源'

说明: cookie的管理由'浏览器的内核引擎'实现

  

session共享   会话跟踪技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值