目录
关于cookie和 session
cookie的详解
Cookie类型为“小型文本文件”,是某些网站用户为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
为什么要是用cookie?
web程序使用HTTP协议传输的,而HTTP协议是无状态的协议,对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的 信息,那么必须进行重新传递。这样会导致传输的数据量增加。
第一次登录后服务器返回了一些数据(cookie)给浏览器,然后浏览器保存在本地,当用户发送第二次请求的时候,就会自动的把上次请求储存的cookie数据自动传递给服务器。
特点:cookie存储的数据量有限,不同的浏览器存储的大小不同,但是一般不超过4k。因此使用cookie只能存储小量的数据
cookie的内容主要包括 name\value\maxage\path\domain\secure name: cookie的名字,一旦创建,名称不可更改 value:cookie的值,如果值为Unicode字符,需要字符编码。 maxage :cookie失效时间, 单位秒。如果为正数,则给cookie在maxage后失效。如果为负数,则为临时的cookie关闭的浏览器即失效,浏览器也不会以任何保留cookie。如果为0,表示删除cookie。默认为-1. domain:域,可以访问该cookie的域名,第一个字符必须为"." 例如:".google.com" 那么 "google.com"结尾的域名都可以访问cookie 如果不设置,则为所有的域名。 secure : 该cookie是否仅被使用安全协议传输。 path:该cookie的使用路径。设置为"/sessionWeb/",则只有ContextPath为 :"/sessionWeb/"的程序可以访问该cookie。
session详解
session机制是类似于一种服务端的机制,使用一种类似于key:value 的形式保存信息。
session机制是一种服务端的机制,服务器使用一种类似于散列表的结构来保存信息。 当程序需要为某个客户端创建一个session的时候,服务器首先会检查这个客户端的请求里面是否包含了一个
session-id ,如果创建过了一个session,那么服务器就会用session-id将这个session找出来
Session是记录客户状态的机制,不同的是cookie保存在客户端浏览器中 而session 保存在服务器中
客户端浏览器访问服务器 的时候,服务器把客户端信息以某种形式保存在 服务器上。这就是Session。客户端浏览器再次访问的时候 只需要从该Session汇总查找该客户的状态。
每一个用户访问服务器的时候,都会建立一个session,用户与服务器建立连接的同时,服务器会自动为其分配一个Session-id.
cookie和session的区别
数据的存储位置:cookie数据存放在客户的浏览器上,而session数据放在服务器上 安全性:cookie不是很安全,别人可以分析存放在本地的cookie并进行欺骗。 服务器性能:session会在一定的时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器的压力,应当使用cookie。 数据的大小:单个的cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 信息的重要程度:可以将登陆的重要信息放在session中,其他的信息如果需要保留,可以放在cookie中。