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。

 

posted @ 2019-04-19 11:21  小丨铁匠  阅读(193)  评论(0)    收藏  举报