参考:

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. java代码----equals和==区别

    总结: ==的意义在于比较的是整型 package com.aa; // public class Bd { public static void main(String[] args) { Inte ...

  2. AJAX验证此ID是否有对应的name

    在表格输入一个ID,然后自动根据ID在数据库中查找是否有对应name 这是javascript部分,利用ajax验证 $(document).ready(function() { $("#c ...

  3. PHP 统计数据功能 有感

    统计,就是把基本的数据,整合起来. 用到sql的,有group by 功能,count功能,order by功能等等. sql将收集的数据,进行统计分析. 一般情况下,sql处理后得到的数据,还要通过 ...

  4. resharper activate

    K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZWVOYW1lIjoibnNzIDEwMDEiLCJhc3NpZ25lZU5hbWUiO ...

  5. apache 不解析 php

    apache 不解析php 1.找到: AddType application/x-gzip .gz .tgz在其下面添加: AddType application/x-httpd-php .php ...

  6. 简单 JS 弹出层 背景变暗

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. JAVA爬取亚马逊的商品信息

    在程序里面输入你想爬取的商品名字,就可以返回这件商品在亚马逊搜索中都所有相关商品的信息,包括名字和价格. 解决了在爬取亚马逊时候,亚马逊可以识别出你的爬虫,并返回503,造成只能爬取几个页面的问题. ...

  8. VMWARE三种网络配置

    由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations ...

  9. Mycat基本搭建

    1.Java环境检查与安装(略) [检查] [root@mysqldb tmp]# java -verson -bash: java: command not found [直接解压安装] [root ...

  10. linux 修改openfiles

    使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数. 新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too ...