Session的前世今生

本文转自「开发者圆桌」一个10年老猿原创文章传播开发经验,尤其适合初学者或刚入职场前几年程序猿的微信公众号。

什么是Session?

Session在计算机中,尤其是在Web应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的登录信息。例如,你一旦登录成功,则可以在Web应用的所有页面中看到自己的用户信息。

我的疑惑

既然Session是有别于Cookie的一种全新的HTTP状态保持解决方案,那么为什么Session有时还要用到Cookie呢?

之前一直有这样的疑问,只是平时工作太忙(其实,想想也是借口,时间挤挤还是有的嘛),也就似懂非懂的放过去了,今天特意重新研究了一下Session的机制和原理,终于解开了我的疑惑,下面把整理的导图分享出来,希望可以帮助更多人更好的理解Web应用中的Session。

如果面试官要问你什么是Session,我觉得你可以把下面这张思维导图中的内容讲给他听,一定可以顺利过关。

导图内容概要

本节“1.session的前世今生”,从HTTP协议与状态保持说起,分别比较了Session与Cookie的区别,通过对SessionID传递方案的梳理进一步加深了Session的理解,最后通过几个思考题,点出了下一节关于“session一致性”的主题。

Session相关思维导图原文件以及Xmind这款思维导图软件,已经分享到百度网盘,欢迎下载使用,也可以通过左下角的「阅读原文」直接跳转,网盘地址:https://pan.baidu.com/s/1eR2oWJS

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容