【PHP基础知识】——cookie与session的区别
来源:互联网 发布:python 写shell脚本 编辑:程序博客网 时间:2024/06/14 00:35
一、前言
前面写了两篇关于cookie和session的文章做了详解和归纳,这里很多人会遇到的一个问题就是:session和cookie到底有哪些区别?同样地,我们也可以罗列一下两者的区别并做一个总结。二、cookie和session的区别
1、大小和个数的区别(1)cookie的个数以往一直限制在20个,但是现今许多浏览器都已经支持了超过20个,像IE都已经支持一个域名50个cookie了;
cookie的总大小也会根据浏览器的不同而有不同限制,大多数限制在4K,超过限制的cookie会被浏览器忽略;
(2)session没有个数和大小的限制,理论上相当于服务器的内存负载,一般来说session都是序列化后保存在服务器的某个路径上的,如果是php,保存路径应该是php.ini中的session.save_path路径,并读取在$_SESSION中,故实际大小应该是php.ini中配置的memory_limit的值。
2、存取方式的区别
(1)Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需要先进行编码;
(2)Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等,甚至是对象。
3、隐私策略的区别
(1)Cookie存储在客户端中,对用户是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie中的内容(当然可以选择加密cookie内容以保证信息安全);
(2)Session存储在服务器上,除了SESSION ID之外其余内容对用户是不可见的,不存在敏感信息泄露的风险。
4、有效期的区别
(1)cookie适合长时间保留生效,只需要设置Cookie的过期时间属性为一个很大很大的数字;
(2)Session依赖于Cookie来传输ID,而该Cookie的过期时间默许为–1,只需关闭了浏览器该Session就会失效(没有关闭默认失效时间已经被设置为20分钟),而且假如设置Session的超时时间过长,服务器的负载就越重,故URL重写的方式长时间保留SESSION也是不可行的,所以session不适合作长时间保存。
5、浏览器支持的区别
对于WAF应用(防火墙),cookie会失去作用,Session+URL地址重写或许是它唯一的选择;
在浏览器上,假如客户端支持Cookie,则Cookie既能够设为本浏览器窗口以及子窗口内有效(把过期时间设为–1),也能够设为一切浏览器窗口内有效(把过期时间设为某个大于0的整数);但Session只能在本阅读器窗口以及其子窗口内有效。假如两个浏览器窗口互不相干,它们将运用两个不同的Session。
6、跨域支持上的不同
(1)Cookie支持跨域名访问,例如将domain属性设置为“xxx.com”,则以“xxx.com”为后缀的一切域名均能够访问该Cookie。跨域名Cookie如今被普遍用在网络中;
(2)Session则不会支持跨域名访问。Session仅在它所在的域名内有效。
参考文章:http://codcodog.github.io/2016/07/26/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3session%E5%92%8Ccookie/
阅读全文
1 0
- 【PHP基础知识】——cookie与session的区别
- PHP基础知识 - session和cookie的区别
- php的session与cookie的区别
- PHP中session与cookie的区别
- PHP中 session与cookie的区别
- php session与cookie区别
- PHP中SESSION与COOKIE的区别与联系
- PHP Cookie与Session的使用与区别
- PHP Cookie与Session的使用与区别
- PHP中SESSION与COOKIE的区别与联系
- PHP中SESSION与COOKIE的区别与联系
- PHP基础知识(四)——Cookie、Session
- php中的cookie和session的用法与区别
- PHP的session与cookie
- JavaEE——Session与Cookie的区别和联系
- Server ——Token、Session与Cookie的区别
- session与cookie的区别
- session与cookie的区别
- iOS基础--SEL 类型 @selector()
- linux下虚拟机的安装
- 数组遍历排序指定key
- 5天玩转C#并行和多线程编程 —— 第四天 Task进阶
- Shader学习笔记(一)
- 【PHP基础知识】——cookie与session的区别
- 常用前端社会分享code
- Windows Update无法检查更新
- php composer 学习记录
- linux- dns和ddns服务
- O(1)时间检测2的幂次-LintCode
- Linux文件IO-open,write,read,lseek,close
- Bentley AutoPLANT Plant Design XM 08.09.03.30 _USB 完整好用版)\
- 下载的文件没有文件类型