zoukankan      html  css  js  c++  java
  • 浅谈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生命周期被销毁
  • 相关阅读:
    MySQL主库异常,从库手动切换为主库方案
    快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)
    CentOS7设置DNS服务器
    nginx/iptables动态IP黑白名单实现方案
    Python批量复制和重命名文件
    centos 7 配置php运行环境 (新)
    配置Nginx和php-fpm用Sock套接字连接时,找不到php-fpm.sock的原因
    php-fpm nginx 9000端口
    nginx与php-fpm通信的两种方式
    centos 7.2 常用命令useradd的使用
  • 原文地址:https://www.cnblogs.com/theblogs/p/10120996.html
Copyright © 2011-2022 走看看