参考:

https://www.cnblogs.com/fuqiang88/p/5956363.html

https://www.cnblogs.com/zlingh/p/5887143.html

https://www.cnblogs.com/confach/p/10050437.html

  • HTTP

    • HTTP是非持久的协议

      • 服务端不用维护客户端信息,减少工作量
      • 不用维持tcp连接?
      • 最初的目的是传输html,所以一问一答就足够了
      • 但是有些情况需要保持状态,比如表单,可以通过cookie、session实现
    • HTTP的生命周期通过 Request 来界定,也就是一个 Request 一个 Response。
    • 被动型:其实就是,服务端不能主动联系客户端,只能有客户端发起
    • 1.0
      • 在 HTTP1.0 中,这次HTTP请求就结束了。
    • 1.1
      • 在HTTP1.1中进行了改进,使得有一个keep-alive(好像1.0也有,只是1.1默认开启了),也就是说,在一个HTTP连接中,可以发送多个Request,接收多个Response。但是请记住 Request = Response, 在HTTP中永远是这样,也就是说一个request只能有一个response。而且这个response也是被动的,不能主动发起。
    • 2.0
      • 参考Google的SPDY
      • 二进制
      • 安全性
      • 连接复用等
  • HTML5
    • Html5是指的一系列新的API,或者说新规范,新技术。Http协议本身只有1.0和1.1,而且跟Html本身没有直接关系。通俗来说,可以用HTTP协议传输非Html数据。
  • 为了结局Http 1.0和1.1的问题(不能从协议层面复用tcp连接,导致每次都要握手和慢启动;安全性;)
    • 为了持续、实时性、貌似主动性的交互需求,在Websocket之前还出现过两种:

      • ajax轮训
      • long poll
    • Websocket
      • Websocket是一个持久化的协议
      • Websocket是基于HTTP协议的,或者说借用了HTTP的协议来完成一部分握手
      • Websocket 其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充
      • 必须客户端支持
    • SPDY和Http 2.0

何为被动性呢,其实就是,服务端不能主动联系客户端,只能有客户端发起

所有的新协议,都要客户端和服务器端都支持

  • Http 2.0

随机推荐

  1. Windows10 官方原版镜像下载途径 Label:win10解决方案

    https://www.microsoft.com/en-gb/software-download/windows10ISO 设置浏览标签为手机以避免跳转,下载即可  或者手机打开该网址,获取下载链接 ...

  2. Struts2接受页面传值过程中出现input的问题

    其实我在使用Struts2的时候,遇到要求返回input的时候不算少.一般我们在使用Struts2的时候,都会返回SUCCESS/ERROR,或者是NONE以到Strtuts的配置文件中再进行相应的处 ...

  3. 关系数据库域关系演算语言QBE

    QBE: Query By Example 基于屏幕表格的查询语言 查询要求:以填写表格的方式构造查询 用示例元素(域变量)来表示查询结果可能的情况 查询结果:以表格形式显示 QBE操作框架 ...

  4. oracle导入数据和编码问题

    配置contrl文件 load data characterset utf8 append into table role_res_gold fields terminated by ';' TRAI ...

  5. DPtoLP/LPtoDP 和 ScreenToClient/ClientToScreen

    设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标.通常将屏幕上的设备坐标称为屏幕坐标.设备坐标用对象距离窗口左上角的水平距离 ...

  6. Setting up logs in NetBackup

    For a given issue, it may be necessary to gather multiple logs.  This MUST cover the time the issue ...

  7. Java面向对象-面向对象编程之基本概念

    面向对象这个概念,每本书上的说法定义很多. 我自己根据我的经验,自己归档总结了下, 所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象: 面向对象经常和面向过程放一起讨论: 这里举例, ...

  8. 02-17 位图验证码(一般处理程序)+AJAX

    建立一个空网站,在设计界面工具箱中拖入一个TextBox工具,一个按钮,外加一个Image图片工具(充当数字.字母以图片形式).但是这样做出来的验证码会出现一个问题,每当点击一下按钮,界面自动提交一遍 ...

  9. leetcode783

    对BST树进行中序遍历,得到递增序列,然后依次计算相邻两元素之间的差,并保存最小的差. class Solution { public: vector<TreeNode*> V; void ...

  10. 3D Text & GUI Text & GUI Texture

    [Unity3D Text] 3D Text通过"Text Mesh"组件."MeshRender共同完成",通过如下方法要以创建一个3D Text. 3D T ...