美文网首页技术干货我爱编程PHP经验分享
PHP中session和cookie的原理及优缺点

PHP中session和cookie的原理及优缺点

作者: ImClive | 来源:发表于2018-04-09 17:48 被阅读0次

    Session

    Session的机制

    session机制采用的是在服务器端保持状态的方案,并且有自己对应的唯一标识session_id,区分不同用户之前的信息。

    Session的工作原理

    1. 当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中;
    2. 首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量;
    3. 当执行PHP脚本时,通过使用session_register()函数注册session变量。
    4. 当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。

    Session的优缺点

    优点

    唯一性、方便调用、不会过多占用资源,是存储在服务器的一组临时数据。一般情况下,我们在做用户登录时,会将用户数据存入session。这样,在任何页面都可以方便调用,而且每个客户端会产生唯一的session_id,不会混淆。并且在关闭浏览器后,服务器会有session回收机制,自动删除过期session。

    缺点

    在客户端是以cookie方式保存的,禁用cookie,session就失效了。

    Cookie

    Cookie的机制

    Cookie与Session的机制原理类似,都是会为每一个用户生成一个特定的值,这次是在客户端保存,当我们打开cookie里面保存了我们个人信息的网站,它会将我们的个人信息提交到服务器,之后请求服务器相应资料信息。

    Cookie的优缺点

    优点

    不需要服务器资源空间,持久时间更长。

    缺点

    客户端大小受限制,用户禁用Cookie就失效了,不安全。

    Cookie和Session的区别和联系

    联系

    Cookie可以在客户端为session保存唯一标识。

    区别

    Cookie机制采用的是在客户端(浏览器)保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

    相关文章

      网友评论

        本文标题:PHP中session和cookie的原理及优缺点

        本文链接:https://www.haomeiwen.com/subject/bxoihftx.html