- 由于http是无状态的协议,这种特性严重阻碍了客户端与服务端进行动态交互,例如购物车程序,客户在后无车中添加了商品,服务端又是如何知道购物车已有的物品呢?为了支持哭护短与服务端之间的交互,为了弥补http的不足,目前实现会话跟踪的常用技术方法:cookie、session、url小红鞋、隐藏的input。
- 当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时, 根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。
1.cookie
Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时。就会带着各自的数据去访问
2.seesion
session是存储在服务端,并针对每个客户端(客户),通过sessionid来区别不同用户。该会话过程直接知道session失效(服务器关闭),或者客户端关闭时结束。相比cookie更安全,一般网站是session结合着cookie一起使用。
3.url重写
客户程序在每个url的尾部添加一些额外的数据,这些数据标识当前的会话,服务器将这个标识符与它存储的用户相关数据关联起来。url重写是比较不错的会话跟踪方案,即使浏览器不支持cookie或者用过户禁用cookie的情况下,这种方案也能够工作。最大的缺点就是每个页面都是动态的,如果用户离开了会话并通过数千或链接再回来,会话的信息也会丢失,因为存储下来的来凝结含有错误的标识信息。