前情提要

在上一篇文章《【HTTP 2.0】 序言》中,我们简要介绍了 HTTP 2 协议的概要和协议状态。

在本篇文章中,我们将会了解到 HTTP 2 协议简介(Introduction)部分的内容。

简介(Introduction)

超文本传输协议(HTTP)是一个非常成功的协议。然而,HTTP 1.1 所使用的底层传输([RFC7230, 第六节]),对现代的应用程序性能带来了一些负面作用。

尤其是在 HTTP 1.0 中,在一个 TCP 连接中,只允许处理一个请求。 HTTP 1.1 增加了请求流水线,但这只是局部解决了请求并发问题,仍然会受到队首阻塞的影响。因此,在 HTTP 1.0 和 HTTP 1.1 中,客户端需要创建多个连接,才能实现并发请求以降低等待时间。

此外,HTTP 报头字段通常是重复的、冗长的,这造成了不必要的网络流量开销,以及初始 TCP 阻塞窗口快速填满。在一个 TCP 连接上进行多个请求时,可能导致延迟过高的问题。

HTTP 2 在底层连接中,通过定义一个经过优化的 HTTP 语义映射表,来解决这个问题。具体来说,它允许在同一连接上交叉使用请求和响应消息,并使用一个高效率的报头字段编码。它还允许设置请求的优先级次序,让重要的请求更快的完成,进一步提升性能。

新的协议对网络连接更加友好,相较于 HTTP 1.x,可以减少 TCP 连接的个数。这意味着,减少了与其他流和长连接之间的竞争,从而带来了更好的网络利用能力。

最后,HTTP 2 通过使用二进制消息帧,进一步提升了消息处理性能。


本文以 CC BY-NC-SA 3.0 CN 协议共享,转载、共享及二次创作时请保留原文出处及链接,请勿用于商业用途。

本文链接:http://litecodes.com/dev/http-2-spec-introduction/

本系列文章将会在我的 GitBook:http2-spec-zh 同步更新,

下一篇文章将会翻译协议的第二部分:HTTP/2 Protocol Overview(HTTP 2 协议概览),不要错过哟~

转载于:https://www.cnblogs.com/duyinqiang/p/5696390.html

【HTTP 2】简介(Introduction)相关推荐

  1. 网络增强现实开发简介 Introduction to Web AR development

    搭配webXR.mindAR.three.js和tensorflow.js 你会学到: 获得构建不同类型的网络增强现实应用程序的实践经验,包括图像效果.人脸效果和世界效果 获得关于增强现实如何在网络浏 ...

  2. 视频色彩校正简介 Introduction to Video Color Correction

    视频色彩校正简介 Introduction to Video Color Correction 视频色彩校正简介 Introduction to Video Color Correction MP4 ...

  3. 第一章 WebGL简介 Introduction

    第一章 WebGL简介 Introduction 概述 webGL是一组用于在web html上下文中绘制3D图像的web接口 html Canvas对象所有绘制图像的舞台,通过使用CanvasRen ...

  4. java MVC英语文献_外文文献: MVC简介Introduction to MVC.pdf

    外文文献: MVC简介Introduction to MVC Introduction to MVC 800.699.1932 About DevelopMentor DevelopMentor pr ...

  5. 并行计算教程简介 Introduction to Parallel Computing Tutorial

    并行计算简介 (对网上翻译文章再进行整理,可能存在些问题,请参考原贴) 1 摘要 最近项目需要实现程序的并行化,刚好借着翻译这篇帖子的机会,了解和熟悉并行计算的基本概念和程序设计.帖子的原文见这里,原 ...

  6. 条件随机场CRF简介Introduction to Conditional Random Fields

    Imagine you have a sequence of snapshots from a day in Justin Bieber's life, and you want to label e ...

  7. SRPG游戏开发(十六)第六章 基本框架 - 一 本章简介(Introduction)

    返回总目录 第六章 基本框架(Framework) 这一章主要编写各个游戏都有的基本框架. 关于源码.打包好的dll文件还没有上传,如何使用它们的Example工程也没有上传. 先来介绍一下源码的各个 ...

  8. 信用评分分卡简介introduction of credit score card

    背景 随着金融科技初创企业的兴起,过去 5 年中出现了许多新的消费信贷机构,与传统银行展开竞争.他们通常瞄准银行认为规模太小或因金融危机期间发生的后期损失而不得不削减贷款的细分市场.通俗的讲就是消费金 ...

  9. 概率主题模型简介 Introduction to Probabilistic Topic Models

    摘要:概率主题模型是一系列旨在发现隐藏在大规模文档中的主题结构的算法.本文首先回顾了这一领域的主要思想,接着调研了当前的研究水平,最后展望某些有所希望的方向.从最简单的主题模型--潜在狄立克雷分配(L ...

  10. 概率算法c 语言,c语言概率算法简介(Introduction to probabilistic algorithms for c languages).doc...

    c语言概率算法简介(Introduction to probabilistic algorithms for c languages) c语言概率算法简介(Introduction to probab ...

最新文章

  1. 【C++】【六】约瑟夫问题
  2. linux 防火墙 限速,linux iptables限速及限制每IP连接数
  3. php连接mysql 5.1.73_安装php环境(php5.4.44+mysql5.1.73+IIS)
  4. [源码和文档分享]基于Java的带GUI界面猜数字游戏
  5. sqlite3在ubuntu的终端下面的操作
  6. UNIX(多线程):28---双buffer “无锁” 设计
  7. date format 精辟讲解
  8. 循环结构, while, do……while
  9. Qt之QToolButton
  10. 在reader中勾选pdf复选框_轻松控制PDF文件的打开方式
  11. Leetcode每日一题:剑指 Offer 04.(二维数组中的查找)
  12. 九度OJ - 题目1481:Is It A Tree?
  13. 高等数学-空间解析几何与向量代数
  14. matlab实验一报告,matlab实验报告总结.doc
  15. 酷派把用户手机当肉鸡,非一天两天
  16. 【cvpr2022】ReSTR: Convolution-free Referring Image Segmentation Using Transformers
  17. 【思维导图】她提出了“计算思维”,并解释我们为什么要学会跟机器对话 | 造访·周以真【整理自公众号:造就】
  18. Mac中如何取消“自动播放视频和实况照片”的操作方法
  19. java 输入数字到数组_java怎么实现输入n个数字赋值到一个数组内?
  20. AToken每日简讯 1.11 星期五

热门文章

  1. 石墨烯将是下一个万亿级别的产业,投资者该如何提前布局?
  2. 记住北京历史上的灾难
  3. 肖像:作家艺术家之一
  4. python面向对象学习_Python 初识面向对象#学习猿地
  5. android进出动画有白屏,Android启动白屏原因及解决方案
  6. 【TensorFlow-windows】投影变换
  7. vue官方eslint插件配置eslint-plugin-vue-libs
  8. 本地存储cookie和localStorage区别特点
  9. React学习小结(二)
  10. P3375 【模板】KMP字符串匹配