Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中cookie与session的区别点总结
  • 807
分享到

php中cookie与session的区别点总结

phpcookiesession 2015-11-19 20:11:28 807人浏览 猪猪侠
摘要

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑 无论是在系统运维还是 php 开发人员的面试中,经常会被问到 Session 和 Cookie 在 PHP 中的区别?下面我们就来总结一下: Cookie 仅由客户端

教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

无论是在系统运维还是 php 开发人员的面试中,经常会被问到 Session 和 Cookie 在 PHP 中的区别?下面我们就来总结一下:

Cookie 仅由客户端生成、管理并使用,PHP 只是发出指令要求客户端如何生成 Cookie、何时过期等,但是客户端不一定会按照 PHP 的指令办事。

Cookie 不是很安全,不法分子可以通过分析本地的 Cookie 进行 Cookie 欺骗。考虑到安全问题,建议将用户的重要信息存放在 Session 中,其它不重要但需要保留的信息可以存放在 Cookie 中。

Session 是用户进入某个网站到关闭浏览器这段时间的会话,默认以文件形式存在服务器磁盘中,所以设置过多的 Session 会影响磁盘的性能,也可以用 Memory 引擎存入 Mysql,因为内存引擎读写速度快,现在也可以指定用 Redis 来处理 Session,这样更快,效率更高。

Session 的收回机制是被动的,一般来说,一旦关闭浏览器 Session 也就被 PHP 自动回收了,但有时即使设置了过期时间并且关闭浏览器也不一定会删除 Session,比如设置多目录多层级保存 Session 时,这时需要通过 PHP 脚本手动删除 Session。

通常 Cookie 与 Session 是绑定的,即用户在没有禁用 Cookie 时,Cookie 一般会保存 Session ID 及 Session 生存周期,如果用户删除 Cookie 一般会退出系统;如果没有禁用 Cookie 关闭浏览器 Session 也会立即失效,要重新登录系统。

Cookie 与 Session 一般应于标识用户、权限认证、存储简单数据、还有就是利用 Cookie 实现单点登录。

Cookie 存储的数据在不同的浏览器会有不同的限制,一般在同一个域名下,Cookie 变量数量控制在 20 个以内,每个 Cookie 的值大小控制在 4kb 以内。Session 值没有大小和数量限制,但如果数量过多,会增大服务器的压力。另外,Cookie 保存的内容是字符串,而 Session 保存的数据是对象。

Session 不能区分路径,同一个用户在访问一个网站期间,所有的 Session 在任何一个地方都可以访问到;而 Cookie 中如果设置了路径参数,那么同一个网站中不同路径下的 Cookie 是不能互相访问的。

COOKIE和SESSION的区别

(1)存储位置:Cookie存储在客户端浏览器中,相对不安全;Session内容所在文件存储在服务器中,一般在根目录下的tmp文件夹中,相对更安全。

(2)数量和大小限制:Cookie存储的数据在不同的浏览器会有不同的限制,一般在同一个域名下,Cookie变量数量控制在20个以内,每个cookie值的大小控制在4kb以内。session值没有大小和数量限制,但如果数量过多,会增大服务器的压力。

(3)内容区别:cookie保存的内容是字符串,而服务器中的session保存的数据是对象。

(4)路径区别:session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到;而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。

内容扩展:

1、存放的位置

cookie保存在客户端,session保存在服务器端的文件系统/数据库/memcache等。

2、安全性

session因为保存有服务器端,安全性无疑更高一些。

3、网络传输量

cookie通过网络在客户端与服务器端传输,会占用一些带宽;而session保存在服务器端,不需要传输。

4、保存时间(生命周期),以20分钟为例

cookie的生命周期是累计的,从创建时就开始计算,20分钟后生命周期就结束,即cookie无效;

session的生命周期是间隔的。从创建时开始计时,如果20分钟内,没有访问过session,那么session会在20分钟时失效。而如果在20分钟内的任一时间访问过session,那么,session的生命周期将重新开始计算。

5、session和cookie的生效路径

cookie在默认情况下,cookie只在当前文件的目录下生效,一般需要设置setcookie的第四个参数为根目录,使得整个网站所在页面都生效;session默认情况下是根目录下生效(可以通过查看cookie的PHPSESSID信息知道,或者通过php.ini文件里的session.cookie_path来设置)。

到此这篇关于php中cookie与session的区别点总结的文章就介绍到这了,更多相关php中cookie与session有什么区别内容请搜索编程界以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程界!

--结束END--

本文标题: php中cookie与session的区别点总结

本文链接: https://www.lsjlt.com/news/37.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ajax和fetch的区别点总结
    本教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。 ajax和fetch的区别 (1)、ajax是利用XMLHttpRequest对象来请求数据...
    616
    2023-09-29
    ajax fetch
  • axios和ajax的区别点总结
    本文操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。 axios和ajax的区别是什么? axios和ajax的区别及优缺点: ajax: 1...
    488
    2023-09-29
    axios ajax 区别
  • python中in和is的区别点总结
    1、区别说明 in:一方面可以用于检查序列(list,range,字符串等)中是否存在某个值。也可以用于遍历for循环中的序列。 is:用于判断两个变量是否是同一个对象,如果两个对象是同一对象,则返回True,否则返...
    319
    2023-09-29
    python in is
  • vue中get和post请求的区别点总结
    本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。 vue中get和post请求的区别 1、get请求 在GET请求中参数是跟在URL后面,即参数放在he...
    399
    2023-09-29
    vue get post 请求区别
  • java sleep()和wait()的区别点总结
    1、区别说明 wait()是Object的方法,sleep()是Thread的方法。 wait()必须采用同步方法,不需要sleep()方法。 线程在同步方法中执行sleep()方法...
    822
    2023-09-29
    java sleep() wait()
  • php中cookie与session有哪些区别
    这篇文章将为大家详细讲解有关php中cookie与session有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。区别:1、Cookie存储在浏览器中,相对不安全;而session存储在服务器中,相...
    837
    2023-09-29
  • php中cookie与session的区别是什么
    本篇内容主要讲解“php中cookie与session的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中cookie与session的区别是什么”吧!本教程操作环境:window...
    829
    2023-09-29
  • nodejs与浏览器中全局对象区别点总结
    Node.js中,一个.js文件就是一个完整的作用域(module,模块)。因此 var 声明的变量只在当前.js文件中有效,而不是全局有效。 而global全局对象是独立于所有的....
    261
    2023-09-29
    nodejs 全局对象
  • vue中插件和组件的区别点及用法总结
    本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。 一、组件是什么 回顾以前对组件的定义: 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件...
    396
    2023-09-29
    vue 插件 组件
  • Java中Cookie和Session详解及区别总结
    目录会话技术Cookie概念快速入门实现原理cookie的细节Cookie的特点和作用案例:记住上一次访问时间分析代码实现Session概念快速入门原理细节Session的特点Ses...
    802
    2023-09-29
    Java中Cookie Java中的Session Cookie和Session区别
  • Mysql主键和唯一键的区别点总结
    什么是主键? 主键是表中唯一标识该表中每个元组(行)的列。主键对表实施完整性约束。表中只允许使用一个主键。主键不接受任何重复值和空值。表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方...
    164
    2023-09-29
    mysql 主键 唯一键
  • c语言中exit和return的区别点总结
    1、返回函数值的return是关键字,exit是一个函数。 return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。 2、return是函数的退出...
    416
    2023-09-29
    c语言 exit return
  • Session与cookie的区别是什么
    Session与cookie的区别:Session是存储在服务器端的,cookie是存储在客户端的。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。Session里的信息是通过存放在...
    203
    2023-09-29
    cookie session
  • Session和Cookie之间区别与联系
    Session和Cookie是两种不同的机制,但它们都用于在Web应用中存储和传递数据。区别:1. 存储位置:Cookie是存储在客...
    469
    2023-09-29
    Session
  • python包和文件夹有的区别点总结
    1、一个或多个文件夹组成一个模块,而一个模块组合构成了一个包发布在公共目录里。 2、包必须有__init__文件,否则就是一个文件夹。 实例 import pynvml pynv...
    750
    2023-09-29
    python包 python文件夹
  • 怎样分析cookie与SESSION的区别和联系
    怎样分析cookie与SESSION的区别和联系,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中...
    327
    2023-09-29
  • Session和Cookie的区别与联系是什么
    Session和Cookie是两种不同的机制,用于在Web应用中保存用户状态信息。区别:1. 存储位置:Cookie存储在客户端(浏...
    676
    2023-09-29
    Session Cookie
  • Cookie与session的区别有哪些
    Cookie和Session是Web开发中常用的两种技术,用于在客户端和服务器之间传递数据。它们的主要区别如下:1. 存储位置:- ...
    237
    2023-09-29
    Cookie
  • PHP5中COOKIE与SESSION的示例分析
    这篇文章给大家分享的是有关PHP5中COOKIE与SESSION的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、HTTP协议本身是无状态的。    我们上网都要靠HTTP协议传递信...
    945
    2023-09-29
  • php中cookie和session的区别有哪些
    小编给大家分享一下php中cookie和session的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接并且登录成功后,第二次请求服务器...
    823
    2023-09-29
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作