一. cookie
- HTTP cookie是服务器发送到用户浏览器并保存在浏览器上的一块数据,它会在浏览器下一次发起请求时被携带并发送到服务器上.
- cookie实际上是一小段的文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个cookie,客户端浏览器会把cookie保存起来,当浏览器再请求该网站时,浏览器把请求的网址连同该cookie一同提交给服务器.服务器检查该cookie,以此来辨认用户状态.
- cookie主要用在以下三个方面:
- 会话状态管理(如用户登录状态,购物车)
- 个性化设置?(如用户自定义设置)
- 浏览器行为跟踪(如跟踪分析用户行为)
二. session
- session是服务器端使用的另一种记录客户状态的机制,不同的是session是保存在服务器上的,cookie是保存在客户端浏览器上的.客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上.这就是session,客户端浏览器再次访问时只需要从该session中查找该客户的状态就可以了.
- 一般情况下,服务器会在一定时间内保存这个session,过了时间限制,就会销毁这个session.
- session机制:是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息.当程序需要为某个客户端的请求创建一个session时,服务端首先检查这个客户端的请求里是否已包含一个session标识,如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用,如果客户端请求不包含session id,则为此客户端创建一个session并且声称一个于此session相关联的session id,session id的值应该是一个即不会重复,又不容易被找到规律以仿造的字符串,这个sessionid将被在本次响应中返回给客户端保存.session id可以采用cookie保存,然后也可以附加在URL后面传递给服务器.
三. cookie和session的区别
- cookie数据是存放在客户的浏览器上的,session数据是放在服务器上的.
- cookie不是很安全,别人可以分析本地的cookie并进行cookie欺骗,session更为安全
- session在一定时间内保存在服务器上,当访问过多是,会比较占用服务器的性能,cookie由于是在本地浏览器上,一定程度上使用cookie可以减轻服务器的性能.
- 单个cookie保存的数据不能超过4K,很多浏览器显示一个站点最多保存20个cookie.
posted on
2018-03-12 21:48
magicianyin
阅读(
170)
评论()
编辑
收藏
举报