cookie与session

Posted cds98

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie与session相关的知识,希望对你有一定的参考价值。

cookie:

1、什么是cookie?

cookie是web服务器暂时存储在用户硬盘上的一个文本文件,并随后被web浏览器读取。

2、cookie的功能?

cookie常用于3个方面:

①记录访客的某些信息,比如,用户访问网页的次数,或者记录访客曾输入过的信息,还可以自动记录访客上次登录的用户名。

②在页面之间传递变量。

③将所查看的Internet页存储在cookie临时文件夹中,可以提高以后浏览的速度。

3、创建cookie

技术分享图片

 

备注:cookie如果不设置失效时间,那么cookie将永远有效,除非手动将其删除。设置cookie的过期时间cookie.setMaxAge();

4、读取和删除cookie

①使用setcookie()删除cookie,setcookie("name"," ",time()-1),将第二个参数设置为空,第三个参数小于当前系统时间。

②手动删除cookie,在浏览器的cookies临时文件夹中,直接删除。

谨记:如果cookie不设置时间,就表示它的生命周期为浏览器会话时间,只要关闭浏览器,cookie就会消失,这种cookie被称为会话cookie,不保存在硬盘上,而是保存在内存中。

虽然cookie可以长时间的存储在客户端浏览器中,但是浏览器最多永许存储300个cookie文件,而且每个文件最大为4KB,每个域名最多支持20个cookie,如果达到限制时,浏览器会自动随机删除cookies。

session

用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。

Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

 

session可以理解为在服务器的cookie,不会随用户清除一般数据而消失,session失效一般为三种情况:
第一种是会话结束
第二种是服务器设置了session的失效时间(默认是24分钟,1440秒)
第三种为用户清除了特征数据,如保存在cookie中的sessionID,导致服务器认为这是一个新用户,分配了一个新的session,从而导致了原session失效
总而言之,cookie是存放在用户本地的,session是存放在服务器的,所以cookie可以节省服务器资源,但是安全性不如session,session更加安全,但是会占用服务器资源

 

 






以上是关于cookie与session的主要内容,如果未能解决你的问题,请参考以下文章

cookie 与 session

JavaWeb学习笔记(狂神版)--- 第九节 Cookie与Session

cookie与session

少部分手机浏览器对于COOKIE支持不够导致服务端无法读取session的解决方案

php 练习题-session与 cookie的 取值赋值

解析session与cookie