码迷,mamicode.com
首页 > 其他好文 > 详细

cookie和session的区别

时间:2018-01-28 00:03:02      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:自动   一个   post   url重写   用户名   cookie   网站页面   脚本   服务器   

服务端是怎么识别用户的(session)

由于HTTP是无状态协议,所以服务端需要记录用户的状态时,就需要某种机制来识别具体的用户。这个机制就是session。
典型的场景如购物车,当用户下单的时候,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建特定的session,用于标识这个用户,并且跟踪这个用户,才知道用户的购物栏中是什么。这个session是保存在服务器端的,有一个唯一标识。在服务端保存session的方式有很多,内存、数据库、文件都有。

客户端是怎么识别用户的(cookie)

每次HTTP请求的时候,客户端都会发送相应的cookie信息到服务端,实际上大多数的应用都是用cookie来实现session跟踪的,第一次创建session的时候,服务端会在HTTP协议会话中告诉客户端,需要在cookie里面记录一个session ID,以后每次请求的时候会把这个会话ID发送给服务器,就知道是谁了。

如果浏览器端禁用了cookie

会使用一种URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如sid=xxxx这样的参数,服务端据此来识别客户。

Cookie的一些用处

Cookie其实还可以用在一些方便用户的场景下,设想你某次登录过一个网站,下次登录的时候不想再次输入账号了,怎么办?
这个信息可以写到cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名和密码填充了。

总结

session是在服务器端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中
cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

cookie和session的区别

标签:自动   一个   post   url重写   用户名   cookie   网站页面   脚本   服务器   

原文地址:https://www.cnblogs.com/sminocence/p/8367603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!