zoukankan      html  css  js  c++  java
  • Cookie与Session到底怎么理解

    突然感觉对这个熟悉又陌生的东西不是很理解,于是查了半天资料,发现都是定义说一通,用法场景说一通,都没有说明白,他俩是怎么一回事。

    还得自己想办法。我就不说定义一类的了,多余。

    1、首先要对他们的结构有所认识,Cookie:

    可以看到是以分号隔开的key:value形式的数据 。由此得知,客户端Cookie是一个数组类型的对象。

    2、服务端获取浏览器传过来的Cookie:

    HttpServletRequest req=ServletActionContext.getRequest();

        Cookie[] cookies=req.getCookies();
    3、客户端的Cookie内容是由服务端返回的,内容可加可减
    HttpServletResponse res=ServletActionContext.getResponse();
        Cookie cookie=new Cookie("xdx", "i'm xdx");
        res.addCookie(cookie);
    4、session的作用是把项目当中一些常用的信息存在内存当中,这些常用的信息通常是跟用户相关的,比如用户名,用户昵称,用户角色等,同时session本身会有一个id,类似于表中的主键id,这个很关键。
    5、session和cookie到底有什么关系呢?
    每一个session对象都有一个sessionId,而在cookie数组中,又一个元素叫做JSESSIONID,服务器将session对象的sessionId,以名称叫做JSESSIONID,值为sessionId的形式存入cookie数组中,这样cookie和session就发生了关联。
    6、应用:第一次请求服务端,验证用户信息,成功后,将用户名等常用信息保存在session中,同时新增一个Cookie返回至浏览器,下次再访问时,服务器取到JSESSIONID然后和服务端中进行比对,比对成功则通过,没有取到,则说明未登录,需要重新登录。
  • 相关阅读:
    ACTIVE OBJECT 模式
    Node.js
    WordPress — 突破性能瓶颈,使用 WordPress 站群做 SEO 推广
    HttpRequest.Item 属性 和 HttpRequest.QueryString 属性的区别!
    Regex.Replace 方法的性能!(090625最新修改)
    FACTORY 模式
    Indexof String By Byte[]
    [11]DIP:依赖倒置原则
    C#.Net Winform skin 皮肤 大全(转)
    C# 情缘
  • 原文地址:https://www.cnblogs.com/zxg-blog/p/13096162.html
Copyright © 2011-2022 走看看