zoukankan      html  css  js  c++  java
  • HTTP的发展历程

    1.HTTP0.9

    超文本传输协议:传输内容较单一

    1.只有一个请求行,没有请求头和请求体

    2.响应数据没有头信息

    3.响应数据以ASCII码的形式传输

    4.只能发送get这样的简单请求

    2.HTTP1.0

    解决问题:随着传输数据类型的多样化,客户端和服务器都需要给对方传达更多信息

    方法:

    1.引入请求头和响应头

    请求头中包含的信息有:文件类型accept、文件压缩方式accept-encoding、文件的编码类型accept-Charset、所需的文件语言类型accept-language

    响应头中包含的信息有:文件最终压缩方式content-encoding、文件类型content-type

    2.引入状态码

    3.引入catch机制,对数据进行缓存

    4.请求头中添加用户代理字段

    3.HTTP1.1

    解决问题:

    1.多次tcp连接浪费时间和资源

    2.队头阻塞

    3.虚拟服务器问题

    4.内容动态生成导致无法确定传输文件大小

    方法:

    1.持久连接:在一个TCP连接上可以传输多个HTTP请求。

    默认Connection为keep-alive状态。目前浏览器中对于同一域名,默认允许同时建立6个TCP持久连接。

    2.管线化:试图解决队头阻塞问题,将请求整批发送给服务器

    3.提供虚拟机支持,请求头中增加host字段

    4.支持动态内容:使用chunk transfer解决文件大小不固定的情况

    5.客户端cookie和安全机制

    4.HTTP2

    要解决的问题:

    1.HTTP1.1中同一域名可连通多个TCP连接,各个TCP之间将会竞争带宽,导致传输受阻。并且由于TCP的慢启动,在文件较小的情况下传输情况受限。

    因此,在HTTP2中限制一个域名使用一个TCP长连接,减少带宽的竞争和慢启动。

    2.队头阻塞问题

    方法:

    http2的优化策略都是在二进制分帧的基础上得到的。

    1.二进制分帧:添加二进制分帧层,将数据包分成更小的数据帧进行传输

    2.多路复用机制

    3.设置请求优先级

    4.服务器推送

    5.头部压缩

  • 相关阅读:
    蓝桥网试题 java 基础练习 特殊的数字
    蓝桥网试题 java 基础练习 杨辉三角形
    蓝桥网试题 java 基础练习 查找整数
    蓝桥网试题 java 基础练习 数列特征
    蓝桥网试题 java 基础练习 字母图形
    蓝桥网试题 java 基础练习 01字串
    蓝桥网试题 java 基础练习 回文数
    蓝桥网试题 java 基础练习 特殊回文数
    Using text search in Web page with Sikuli
    each of which 用法
  • 原文地址:https://www.cnblogs.com/cff2121/p/13369785.html
Copyright © 2011-2022 走看看