• Web会话跟踪技术


    什么是会话 ?

    客户端打开与服务器的连接 发出请求到服务器响应客户端请求的全过程称之为会话。一个用户的所有请求都属于同一个会话

    什么是会话跟踪?

    对同一个用户向服务器发送请求以及服务器进行响应的过程的监视

    会话跟踪的原因

    (1)、web应用是使用http协议的
    (2)、http协议是无状态的协议。无状态是指,客户端服务端数据交换结束之后,客户端服务器就会断开连接。再次交换数据会建立新的连接
    (3)、会话跟踪的目的是为了判断是哪个客户端连接的服务器。 简单来说就是为了数据共享,将用户与同一用户发出的不同请求之间关联起来。

    会话跟踪技术

    (1)、cookie :携带了客户端的个性化信息,在服务端创建,通过response对象相应给客户端并且保存在客户端(浏览器缓存中)。 以键值对的形式保存在某个目录下的文本文件内,(由于 cookie 是存在客户端的,所以服务端需要加入一些限制确保 cookie 不会被恶意使用)

    (2)、Session:也携带了客户端的个性化信息。可以在客户端创建,也可以在服务端创建,保存在服务器端比cookie安全。用户第一次访问服务器的时候,第一次创建,只有访问jsp servlet这种动态资源的时候才会自动创建。访问静态资源(html、图片等)不会创建Session。
    (可以理解为一个状态列表,拥有一个唯一识别符号 sessionID ,客户端通常存放于 cookie 中。服务器收到 cookie 后解析出 sessionID ,再去 session 列表中查找对应的session信息。依赖cookie,如果 cookie 被禁用也可以放在 url 中)

    (3)URL重写,每次自动创建session的时候都会生成一个sessionid,url重写就是在客户端发起请求的时候将sessionid重新写入url地址中 ,从而达到对客户端的跟踪
    (4)隐藏表单域

    cookie与session的区别

    1、存储位置不同:cookie数据保存在客户端,session数据保存在服务器端。
    2、安全性不同:session 比 cookie 安全;别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。
    3、存取值的类型不同:cookie 只支持存字符串数据,想要设置其他类型的数据,需要将其转换成字符串,session 可以存任意数据类型。
    4、存储大小不同:单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存20个cookie;session 可存储数据远高于 cookie。
    5、session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能;可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

  • 相关阅读:
    Day10:寻路算法值之A*寻路算法
    Adaptive Learning Rate 自适应学习率
    python利用BUG让它免费啦~你在不知道就要后悔啦~
    java毕业设计网站SSM版学生选课系统[包运行成功]
    探秘Python闭包与作用域
    数据结构与算法之图: 图及其深度和广度优先遍历实现 (Typescript版)
    安卓实现微信聊天气泡
    从零到一构建koa+ts项目(初始化)
    Python Web框架Django
    电脑访问不到在同网络的手机设备
  • 原文地址:https://blog.csdn.net/weixin_45511599/article/details/126213383