为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【金秋打卡】第1天 Cookie与Session

【金秋打卡】第1天 Cookie与Session

2022.11.10 23:53 57浏览

课程名称:编程必备基础-大话HTTP协议

课程章节:HTTP状态管理:Cookie与Session

课程讲师:风落几番

课程内容:

1.Cookie

  1. 实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie

  2. 客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查Cookie,以此辨认用户状态。服务器还可以修改Cookie内容。

  3. 在服务端返回数据的时候,通过set-cookie这个header设置到浏览器里面,下次请求会自动带上。

  4. 键值对,可以设置多个

  5. 属性:max-age和expires设置过期时间,Secure只在HTTPS的时候发送,HTTPOnly无法通过document.cookie访问

  6. 不同域名Cookie不能共享,比如b.com不能访问a.com的Cookie。同级域名不能共享Cookie:a.test.com和b.test.com不能共享。通过domain设置可以让test.a.com访问a.com的Cookie

  7. 不能跨域设置Cookie5,比如a.test.com不能给test.com设置Cookie


2.Session

  1. Session是另一种记录客户状态的机制,保存在服务器上。客户端浏览器访问服务器时,服务器把客户端信息以某种形式记录在服务器上

  2. 客户端浏览器再次访问时只需要从Session中查找该客户的状态就可以了

  3. 如果说Cookie机制是检查用户身上的通行证,来确定客户身份的话,那么Session机制检查服务器上的客户明细表,来确认客户身份。

  4. 当用户访问一个服务器,如果服务器启用Session,那服务器就要为这个用户创建Session。在创建Session的时候,服务器首先检查发来的请求是否包含SessionID。如果包含了,说明用户此前登录过,创建过,把这个Session在服务器内存查找出来。如果查找不到,或者客户端请求不包含SessionID,那么就创建一个Session并且生成ID。这个ID一定是唯一的,不重复的,不容易找到规律的字符串。这个ID并且返回客户端进行保存,保存ID的是Cookie

3.保存Session方式

  1. Cookie

  2. URL重写

  3. 隐藏表单

4.Session有效期

  1. Session超时失效

  2. 程序调用HttpSession.invalidate()

  3. 服务器进程被停止

5.Cookie和Session比较

  1. 存放位置不同

  2. 安全性(隐私策略)不同:Cookie对客户端是可见的,客户端的一些程序可能会窥探,复制,甚至修改内容。Session对客户端是透明的,不存在敏感信息泄露风险。可以把Cookie信息加密

  3. 有效期,服务器会定时清理超时SessionID,只要关闭浏览器,Session就失效了

  4. 服务器压力不同


课程收获:

https://img4.sycdn.imooc.com/636d1de100017c6d11110749.jpg


点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
9
获赞与收藏
0

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消