zoukankan      html  css  js  c++  java
  • Ajax内容签名技术(减少无谓流量损耗)

    UI界面Ajax获取数据内容的时候,一般是直接加载内容填充,不管内容有无变化。自己也是一直这么干,包括定时刷新公告等。
    今天在浏览器控制台调试的时候,发现动态刷新内容,其实挺耗费流量的,特别是内容无变化的时候,却一直要传输同样的内容,而部分刷新,加载的是大量的内容。这样就造成了流量的无谓浪费,而且刷新的时候,dom容器也会闪烁一下,用户体验很不好。
    所以今天突然想到一个方法,就是把传输内容格式改造一下,返回json格式,格式为:{"value":"","sign":""},value对应的是原来的内容,sign是内容的MD5签名。
    ajax获取数据后,把内容的sign值和dom元素的[data-sign]比对:
    1.如果是第一次获取,则此时dom元素的[data-sign]为空,所以应该把内容的sign值写入到dom元素的[data-sign]中,并且应用value值。
    2.如果不是第一次获取,则把dom元素的[data-sign]作为请求参数,发送给服务端后台,服务端后台根据传入的sign参数的值与内容生成的md5值比对,如果内容签名值与参数sign值不一致,则说明内容有变化,输出内容为:{"value":"内容","sign": $md5_sign},前端则重复第一步操作。如果内容签名值与参数sign值一样,则说明内容没有变化,这时就没必要返回内容值了,输出内容为:{"value":"","sign":$md5_sign},从而节省了无谓的流量消耗。
    这个方法,命名为:Su-AjaxContent-Sign (SACS) Ajax内容签名。

  • 相关阅读:
    浏览器滚动条高度的获取与设置
    aspx页面 按钮不响应回车键
    HTML5 canvas 圆盘抽奖
    spark 解决大文件造成的分区数据量过大的问题
    简单http文件服务器 (Python)
    调试分析工具 (C/C++)
    案例学习——网站高并发处理相关技术
    一致性哈希
    Linux 环境下程序不间断运行
    案例分析——BAT业务https化经历
  • 原文地址:https://www.cnblogs.com/sutroon/p/5268848.html
Copyright © 2011-2022 走看看