HTTP瓶颈以及解决方法之websocket

HTTP的瓶颈就是:HTTP协议的性能受到限制,web页面加载时间过长,实时更新大量的数据无法妥善处理,但由于全球已经有很多的浏
览器都是基于HTTP协议,所以无法完全抛弃HTTP,因此产生了很多基于HTTP的协议的新协议,添加了新功能。
瓶颈详细化描述有如下几点:
1.一条连接上只可发送一个请求。
2.请求只能从客户端开始。客户端不可以接受除响应以外的指令。
3.请求/响应首部未经压缩就发送。首部信息越多延迟越大。
4.发送冗长的首部,每次互相发送相同的首部造成的浪费较多。
5.可任意选择数据压缩格式。非强制压缩发送。

解决方法之一:ajax

ajax是一种有效利用JavaScript和DOM的操作,以达到局部web页面替换加载的异步通信手段,响应中传输数据减少但是它可能会导致大量
请求产生,而且它并未解决HTTP协议本身存在的问题。

解决方法之二:Comet

comet是一种一旦服务器有了更新就不会让请求等待,直接给客户端返回响应,这是一种通过延迟应答,模拟实现服务器端向客户端推送的
功能。但是为了保留响应,一次连接的持续时间变长,为了维持连接会消耗更多资源,而且它并未解决HTTP协议本身存在的问题。

解决方法之三:SPDY

SPDY是一种在TCP/IP的应用层与传输层之间通过新加会话层的形式运作,通信中使用ssl解决安全问题,它提高了TCP的处理效率,解决了
因宽带低而导致的响应变慢的问题,使通信中产生的数据包数量和发送的字节数变少了,支持服务器主动向客户端推送数据,资源在以缓存
等情况下可以避免发送不必要的请求但是使用SPDY时,SPDY是将单个域名的通信多路复用,改善效果受到限制。

解决方法之四:WebSocket

WebSocket是web服务器与web浏览器之间的全双工通信标准。任在开发的WebSocket是为了解决ajax和Comet里XMLHttpRequest附带
的缺陷所引起的问题。WebSocket是基于HTTP上的协议,一旦建立WebSocket连接,无论客户端还是服务器端,任意一方都可直接向对方
发送报文。它具有推送功能,减少了通信量,当HTTP建立之后,需要完成一次握手的的步骤。JavaScript可调用“the WebSocket API”
内提供的WebSocket程序接口,以实现WebSocket下的全双工通信。

图解HTTP笔记之第九章:HTTP瓶颈以及解决方法之websocket相关推荐

  1. vim实用技巧-笔记(第九章)

    vim实用技巧-笔记(第九章) 前言 我记得很早以前我就说过了,我是一个菜鸟,我写博客的主要目的不是为了别人,更多的是为了记录自己的成长过程.如果阁下认为我的行为是在划水的话,那我也不妨大方地承认. ...

  2. 李弘毅机器学习笔记:第九章—Hello world of dee

    李弘毅机器学习笔记:第九章-"Hello world" of dee keras 是什么 示例 步骤1:定义模型 步骤2:模型评估 步骤3:最佳模型 3.1 Configurati ...

  3. Machine Learning in Action 读书笔记---第4章 基于概率论的分类方法:朴素贝叶斯

    Machine Learning in Action 读书笔记 第4章 基于概率论的分类方法:朴素贝叶斯 文章目录 Machine Learning in Action 读书笔记 一.基于贝叶斯决策理 ...

  4. 《图解TCP/IP》阅读笔记(第九章)—— 网络安全相关

    第九章 网络安全 本章旨在介绍互联网中网络安全的重要性及其相关的实现技术. 本章的内容在我看来,并没有前几章那么重要,大概有所了解就好. 9.1 TCP/IP与网络安全 起初,TCP/IP只用于一个相 ...

  5. 机器学习理论《统计学习方法》学习笔记:第九章 EM算法及其推广

    第九章 EM算法及其推广 概述 EM算法 EM算法的收敛性 EM算法实现 K-Means与高斯混合模型 K-Means 高斯混合模型 概述 EM算法是一种迭代算法,1977年由Dempster等人总结 ...

  6. CoreJava 笔记总结-第九章 集合

    第九章 集合 文章目录 第九章 集合 `Java`集合框架 集合接口与实现分离 `Collection`接口 迭代器 泛型实用方法 集合框架中的接口 具体集合 链表 数组列表 散列集 树集 优先队列 ...

  7. Think in Java第四版 读书笔记4第九章第十章

    第九章 抽象类与接口 9.1抽象类和抽象接口 抽象类可以有具体实现的方法(并不是所有方法都是abstract的)(比如这样 abstract void test3();) 子类继承抽象类要么要实现(覆 ...

  8. PMBOK(第六版) PMP笔记——《第九章 项目资源管理》

    第九章 项目资源管理 项目资源管理包括识别.获取和管理所需资源以完成项目的各个过程. 9.1 规划资源管理: 1.定义:定义如何估算.获取.管理和利用团队以及实物资源. 2.规划资源管理的工具:数据表 ...

  9. JS高级程序设计读书笔记 (第九章 客户端检测)

    第九章 客户端检测 能力检测 最常用也最为人们广泛接受的客户端检测形式是能力检测(又称特性检测).能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力.采用这种方式不必顾及特定的浏览器如何如何,只 ...

最新文章

  1. Science nature合集 2021年度上半年
  2. Solution for Lead OPA test error ( add button clicked after cancel button )
  3. 前端笔记 | CSS浮动
  4. eclipse里面自动添加get和set方法
  5. 史密斯圆图串并联口诀_史密斯圆图基本原理及应用.ppt
  6. 用python如何制作表格_Python中用xlwt制作表格实例讲解
  7. 电信专业人才选拔条件
  8. 91手机助手电脑版官方版
  9. poi 启用保护后取消_保护模式禁用怎么解除
  10. Java实现包含多级目录文件的筛选删除操作
  11. python父亲节快乐_打算送亲戚家孩子新年礼物,有哪些礼物孩子喜欢且有意义?...
  12. MySQL:查询每个部门的员工小时平均工资(显示部门名称、部门员工小时平均 工资)
  13. 安全模式删除入网小助手_入网小助手 监控
  14. 自定义微信小程序tabBar组件上边框的颜色
  15. Python基础知识-pycharm版-02
  16. 微信公众号用户授权登录逻辑
  17. 计算机网络原理(谢希仁第八版)第三章课后习题答案
  18. c oracle帮助文档下载,Oracle 19c 官方文档——Concepts
  19. php 获取到当前ip,获取当前IP地址,跳转到对应城市网站。
  20. 用Python进行图文识别(OCR)

热门文章

  1. 基于JAVA集合写的一个梭哈游戏
  2. Java Date日期比较
  3. 《先驱者》服务器修复,Steam一周大事件:先驱者服务器修复,1分钟掉线3次不再可能...
  4. 不需要再手工指定JVM启动参数-XX:+UseCompressedOops
  5. 蒙牛开启元宇宙世界,成功发布首个二次元员工形象
  6. 设计模式(八):Bridge桥接模式 -- 结构型模式
  7. PLSQL安装、PLSQL汉化
  8. 光猫和路由器的区别是什么
  9. Git删除分支/恢复分支,操作指南
  10. vue编写时的一些注意事项(1)(---漫无目的的哔哔赖赖)