cookie与session

小课堂

分享人:杜腾飞

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

先介绍下背景

web应用程序开发流程,客户端服务端的交互是来传输数据,使用的就是HTTP协议,但是Http协议是无状态的,也就是说无法对用户的状态进行保存管理;简单说就是,当浏览器发送请求给服务器的时候,服务器响应客户端请求,但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才的那个浏览器;服务器无法记忆,所以称作无状态协议。

那么问题来了,正是由于HTTP无状态的协议,一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话;但是要跟踪该会话,必须引入一种机制……

2.知识剖析

cookie&session

Cookie以及session就是这样的一种状态机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话,session也是一样的,都是一种会话跟踪技术,用来跟踪用户的整个会话;只不过Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

具体来说;都是一种浏览器和服务器交互数据的方式;也是一种会话跟踪技术,也算是一种缓存机制,只不过cookie由服务器端创建,但是不会保存在服务器;创建好之后,发送给浏览器。浏览器保存在用户本地;下一次访问网站的时候,就会把该Cookie发送给服务器。

而session实际理解就是,从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。直到该用户关闭浏览器为止,都属于同一个会话.而会话是在服务器里的,也可以抽象理解为服务器里的一个个小盒子,通过以cookie为载体的sessionid来匹配

3.常见问题

怎么跟踪会话?

怎么匹配信息?

4.解决方案

小demo

5.编码实战

实际应用

6.扩展思考

如果没有cookie这个载体,session怎么运行?

7.参考文献

http://blog.csdn.net/u011518120/article/details/52151090 https://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html http://blog.csdn.net/Jmilk/article/details/55686267?locationNum=9&fps=1 http://how2j.cn?p=13495

8.更多讨论

???

Thanks

By : dtf