session和cokkie的区别与作用
session在计算机中,尤其是在网络应用中,称为“会话机制”,Session对象存储特定用户会话所需的属性及配置信息,这样,当用户在应用程序的web页之间跳转时,存储在session对象中的变量将不会将不会丢失,而是在整个用户会话中一直存在下去,当用户请求来自应用程序的web页时,如果该用户还没有会话,则web服务器将自动创建一个session对象,当会话过期或者被放弃后,服务器将终止会话。
session对象最常见的一个用法就是存储用户的首选项。例如如果用户指明不喜欢查看图形,就可以将该信息存储在session对象中。
session:是在服务器端状态保持机制,提供了一种把信息保存在服务器内存中的一种方式,他能存储任何数据类型包括自定义对象
每个客户端的session都是独立存储的,session对象用于存储有关用户信息,用户不能访问和修改其他用户的session,在服务器端有一个session池,用来存储每个用户session中的数据,为了区别,给每一个存储单元加一个sessionID,这个sessionID的值是唯一的,然后返回给浏览器,用户下次访问时带着这个sessionID,从session池中找到对应的session存储单元,每个用户都有自己的session,不能对其他用户的session进行操作。
sessionID是以cookie的形式返回给浏览器端,浏览器将接收到的存储sessionID的cookie保存在内存中(浏览器端)
session不能跨浏览器使用,用户验证场合一般使用session
session和cookie的区别:session是在服务器端,cookie是在客户端(浏览器)
cookie的作用:
我们在浏览器中,经常涉及到设计的交换,比如你登录邮箱,登录一个页面,我们经常会在此时设置30天记住我,或者自动登录选项,那么他们是怎么记录信息的呢,就是cookie,cookie是有HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的连接就会关闭,每次交换数据都需要建立新的连接。
就像我们去超市买东西,没有积分卡的情况下,我们买完东西之后,超市没有我们的任何消费信息,但我们办了积分卡之后,超市就有了我们的消费信息,cookie就像是积分卡,可以保存积分,商品就是我们的信息,超市的系统就像服务器后台,HTTP协议就是交易的过程。
session机制采用的是服务器端保持状态的方案,而cookie机制则是在客户端保持状态的方案,cookie又叫会话跟踪机制。打开一次浏览器到关闭浏览器算是一次会话,HTTP是无状态协议,数据交换完成后,服务器端和客户端的连接就会关闭,每次数据交换都要建立新的连接,此时,服务器无法从连接上跟踪会话,cookie可以跟踪会话,弥补HTTP状态协议的不足。