计算机网路学习笔记「Cookie和Session的区别」

cookie和session都是用来跟踪浏览器用户身份的会话方式

Cookie的工作原理

  • 当浏览器端第一次发送请求到服务器端时,服务器端创建Cookie

    该Cookie中包含用户的信息

  • 服务器端将该Cookie发送到浏览器端

  • 浏览器端再次访问服务器端时会携带服务器端创建的Cookie

    服务器端通过Cookie中携带的数据区分不同的用户

Session的工作原理

  • 浏器端第一次发送请求到服务器端,服务器端创建一个Session,同时会创建一个特殊的Cookie

    这个Cookie的name为JSESSIONID的固定值,value为session对象的ID

  • 服务器端将该Cookie发送至浏览器端

  • 浏览器端发送第\(N(N>1)\)次请求到服务器端,浏览器端访问服务器端时就会携带该name为JSESSIONID的Cookie对象

  • 服务器端根据name为JSESSIONID的Cookie的value(sessionId),去查询Session对象,从而区分不同用户

    • 若name为JSESSIONID的Cookie不存在(关闭或更换浏览器),则重新去创建Session与特殊的Cookie
    • 若name为JSESSIONID的Cookie存在,根据value中的SessionId去寻找session对象cookie数据保存在客户端,session数据保存在服务端。
      • 若value为SessionId不存在(Session对象默认存活30分钟),则重新去创建Session与特殊的Cookie
      • 若value为SessionId存在,返回session对象

Cookie和Session的区别

cookie数据保存在客户端,session数据保存在服务端。

Cookie Session
用户数据保存的位置 所有数据都保存在浏览器端 所有的数据都保存在服务器上
性能影响 session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 减轻服务器性能
过期方式 在cookie生成的时候设置进去 取决于服务器的设定
安全性 cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗 安全
posted @ 2021-04-01 14:16  VanGy  阅读(63)  评论(0编辑  收藏  举报