COOKIE和Session的原理及异同
一、COOKIE和Session的原理:
cookie的原理:
cookie用于交互时存放在客户端,即使用你临时文件夹中不存在cookie,但在你的浏览器进程中会临时保存你的cookie!session是交互时存放在服务端,即使用不保存,也在服务进程中。
正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。
Session的原理:
sessionID是你初次请求时由系统生成,随网页流保存在你的浏览器进程中,以便你在使用postback等回传功能时能识别你。sessionid相当于浏览器与服务。
进程进行了一个简单的约定,可以理解为初次服务器发给你的一个通行号码,以后你与服务器的任何交互都依赖于这个号码。
二、COOKIE和Session的区别:
cookie:cookie机制采用的是在客户端保持状态的方案;cookie的作用是为了解决HTTP协议无状态的缺陷所做的努力;cookie是存放在客户的浏览器的;但是cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗;cookie并不影响服务器的性能;cookie内容不宜过多,否则会影响速度;保留信息的时候可以把它放在cookie里面。
session:session机制采用的是一种在客户端与服务器之间保持状态的解决方案;session机制需要借助cookie机制来达到保存标识的目的;session是存放在服务器的;session的安全性相对cookie是很高的;但是session会在一定时间内保存在服务器上。当访问过多的时候会占用服务器的性能;信息都被保留在session中。
总之,session是存储在服务器端的,cookie是存储在客户端的,session可以依赖于cookie。
浙公网安备 33010602011771号