• cookie 与 session 的差别、联系


    1、存放位置:

         Session 存放在server端。

         Cookie 存放在client;

     

    2、保存形式:

         Session保存在server的内存中(在server端设置超时时间,与浏览器设置无关);

         Cookie以文件形式存放在client(能够通过浏览器设置进行更改、清除),单个cookie闻见一般限制为3k;

     

    3、安全性:

         Session 较安全。

         Cookie 不安全(能够通过分析本地的cookie进行cookie欺骗);

     

    4、性能:

         Session 当訪问量增大时会占用server内存从而消耗server性能。

         Cookie 不消耗server性能,考虑减轻server负荷能够考虑使用cookie

     

    5、persistent cookie(cookie)与 session cookie的 差别:

     

          http是无状态协议,客户每次读取web页面时。server都会打开新的会话。

    并且server也不会自己主动维护客户的上下文信息。

          Session就是一种保存上下文信息的机制,它是针对每个用户的。变量的

    值保存在server端,通过SessionID来区分不同的客户。

     

          Session 是以 cookie 或 URL重写为基础的,默认使用cookie来实现。系统

    会创建一个名为 jessionID 的输出cookie(我们叫做session cookie),差别于

    persistent cookies(也就是我们常说的cookie),cookie是存放在硬盘上的。

    而session cookie是存储在浏览器内存中的。我们一般是看不到session cookie

    (jessionID)的。可是当我们吧浏览器的cookie禁用后,webserver会採用URL

    重写的方式传递SessionID,我们就能够在浏览器地址栏看到 sessionid=KWJH

    UG6JJM65HS2K6 之类的字符串,明确了原理。两者的差别就一目了然。

     

          Session cookie 针对某一次会话而言。会话结束 session cookie 也就随着消失了;

          persistent cookie 仅仅是存在与client银盘上的文本(一般是加密的),可能会遭到 cookie欺骗和针对cookie的跨站脚本攻击;

          所以 session cookie 更安全。

          session cookie 是不能跨窗体使用的,当你新开一个浏览器窗体进入同样页面时,

    系统会赋予你一个新的 sessionID,这样我们信息共享的目的就达不到了,此时我们

    能够先把 sessionID 保存在 persistent cookie 中。然后在新窗体中读出来,就能够得

    到上一个窗体的 sessionID了,这样通过 session cookie 和 persistent cookie 的结合

    就能够实现跨窗体的 session tracking (会话跟踪)。

  • 相关阅读:
    Android项目几种常见的应用架构
    PreferenceCategory背景颜色设置
    xml中怎样换行?
    Windows 7启动Telnet
    android图片处理方法(转)
    android SDK下载失败和更新方法
    JBoss 5.1.0 GA:Error installing to Instantiated:name=AttachmentStore state=Described
    window常用的『运行』命令
    在linux中eclipse连接android手机开发程序
    [leetcode]Binary Tree Level Order Traversal
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7279134.html
Copyright © 2020-2023  润新知