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共享   会话跟踪技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CookieSession都是用来在Web应用中跟踪用户身份和状态的机制,但它们的工作原理有所不同。 1. Cookie工作原理: 当用户访问一个网站时,服务器会在响应中包含一个名为"Set-Cookie"的HTTP头部,其中包含了一些信息,如用户ID、登录状态等。浏览器接收到这个Cookie后,会将其存储在本地,下次用户再访问该网站时,浏览器会自动将Cookie发送到服务器。服务器根据Cookie中的信息来识别用户身份和状态。 2. Session工作原理Session是基于服务器端的机制。当用户首次访问网站时,服务器会为该用户创建一个唯一的Session ID,并将该ID存储在服务器端的内存或数据库中。同时,服务器会将该Session ID发送给浏览器,通常通过一个名为"sessionid"的Cookie。浏览器在后续的请求中会自动携带该Cookie。服务器通过Session ID来查找对应的用户状态和数据。 具体的流程如下: - 用户访问网站时,服务器检查请求中是否包含有效的Session ID。 - 如果没有有效的Session ID,则创建一个新的Session,并生成一个唯一的Session ID。 - 服务器将该Session ID发送给浏览器,并在响应中设置一个名为"sessionid"的Cookie。 - 浏览器接收到Cookie后,存储在本地。 - 在后续的请求中,浏览器会自动将该Cookie发送给服务器。 - 服务器根据Session ID查找对应的Session,并根据需要更新Session的状态和数据。 需要注意的是,Cookie存储在客户端,可以被用户修改或删除;而Session存储在服务器端,对用户是不可见的。此外,为了保护用户数据的安全性,通常会对CookieSession进行加密和签名处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值