• 浅谈cookie与session的区别


    cookie用的是在客户端保持状态的方案(它是在用户端的会话状态的存贮机制),前端也可以来设置他 所有浏览器都识别,并且会缓存在浏览器中。

    cookie是以key=value这种键值对的形式保存,每个cookie之间一般用“;”分隔,大小一般不超过4KB

    session是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息

    下面来说下cookie与session的区别

    cookie与session最大的区别就是一个是将数据存放在客户端,一个是将数据存放在服务端

    1、存储方式不同

    Cookie能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码
    Session能够存取任何类型的数据。

    2、服务器压力不同

    Cookie保管在客户端,不占用服务器资源
    Session是保管在服务器端的,每个用户都会产生一个Session

    3、浏览器支持不同

    Cookie是需要客户端浏览器支持的。假如客户端禁用了Cookie,或者不支持Cookie,则会话跟踪会失效
    
    假如客户端浏览器不支持Cookie,需要运用Session以及URL地址重写。需要注意的是一切的用到Session程序的URL都要进行URL地址重写,否则Session会话跟踪还会失效。

    4、安全性不同

    Cookie存储在客户端中,对客户端是可见的,客户端的一些程序可能被修改Cookie中的内容。
    
    Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险

    5、跨域支持的不同

    Cookie支持跨域名访问
    Session则不会支持跨域名访问,仅在他所在的域名内有效

    6、存储的时间有效期不同

    有效时间以10分钟为例
    cookie的生命周期是累计的,从创建时,就开始计时,10分钟后,cookie生命周期结束
    session的生命周期是间隔的,从创建时,开始计时如在10分钟,没有访问session,那么session生命周期被销毁
  • 相关阅读:
    MD5中使用16进制
    关于mysql函数GROUP_CONCAT
    一个不错的源码网站
    查看jdk 线程 日志
    list 的sublist 隐藏 bug
    web 环境项目(intellj部署的tomcat) 重启时报 Exception in thread "HouseKeeper" java.lang.NullPointerException
    怎么给已有项目引入别的项目
    javascript 和 CoffeeScript 里的类
    express 与 mvc
    express的路由
  • 原文地址:https://www.cnblogs.com/theblogs/p/10120996.html
Copyright © 2020-2023  润新知