【HTTP 2】简介(Introduction)
前情提要
在上一篇文章《【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 协议概览),不要错过哟~
【HTTP 2】简介(Introduction)的更多相关文章
- Spring.NET的IoC容器(The IoC container)——简介(Introduction)
简介 这个章节介绍了Spring Framework的控制反转(Inversion of Control ,IoC)的实现原理. Spring.Core 程序集是Spring.NET的 IoC 容器实 ...
- [Guava官方文档翻译] 1.Guava简介 (Introduction)
用户指南 Guava包含Google在Java项目中用到的一些核心库:collections, caching, primitives support, concurrency 库, common a ...
- 概率主题模型简介 Introduction to Probabilistic Topic Models
此文为David M. Blei所写的<Introduction to Probabilistic Topic Models>的译文,供大家参考. 摘要:概率主题模型是一系列旨在发现隐藏在 ...
- 机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)
原文链接:https://developers.google.com/machine-learning/crash-course/introduction-to-neural-networks/ 神经 ...
- 转:概率主题模型简介 --- ---David M. Blei所写的《Introduction to Probabilistic Topic Models》的译文
概率主题模型简介 Introduction to Probabilistic Topic Models 转:http://www.cnblogs.com/siegfang/archive/2 ...
- dicom通讯的工作方式及dicom标准简介
本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式 网络数据组织方式.文件数据组织方式就是解析静态 ...
- Knockout简介
1 Knockout简介 (Introduction) Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化. Knockout有如下4大重要概念: 声明式 ...
- Topology and Geometry in OpenCascade-Adapters
Topology and Geometry in OpenCascade-Adapters eryar@163.com 摘要Abstract:本文简要介绍了适配器模式(adapter pattern) ...
- Topology and Geometry in OpenCascade-Topology
Topology and Geometry in OpenCascade-Topology eryar@163.com 摘要Abstract:本文简要介绍了几何造型中的边界表示法(BRep),并结合程 ...
- Package gp in the OpenCASCADE
Package gp in the OpenCASCADE eryar@163.com China 一.简介 Introduction to Package gp gp是几何处理程序包(Geometr ...
随机推荐
- 基于Visual C++2013拆解世界五百强面试题--题1-定义各种类型指针
用变量a给出下面的定义 a)一个整型数 b)一个指向整型数的指针 c)一个指向指针的指针,它指向的指针是指向一个整型数 d)一个有10个整型数的数组 e)一个有10个指针 ...
- PHP - 数组去重,(折中:符串去重)
[译]更快的方式实现PHP数组去重 Jan 11, 2016 • Hector 原文:Faster Alternative to PHP’s Array Unique Function 概述 使用PH ...
- 利用UICollectionView实现瀑布流
利用UICollectionView实现瀑布流通过自定义布局来实现. - 自定义类继承UICollectionViewLayout: 必须重写的方法有: //决定每个item的位置: - (nulla ...
- kali linux
1. Kali 2.0使用SSH进行远程登录 http://jingyan.baidu.com/article/eae07827a3e6bc1fec5485e3.html 一.配置SSH参数修改ss ...
- unix IO笔记
一.IO与文件映射 1.IO的共享与效率 read与write其中数据缓冲的大小 读取数据的缓冲:getpagesize 2.定位与定位读取(随机读取) read与write在操作的时候,自动移动读取 ...
- Python之美[从菜鸟到高手]--urlparse源码分析
urlparse是用来解析url格式的,url格式如下:protocol :// hostname[:port] / path / [;parameters][?query]#fragment,其中; ...
- javascript 学习随笔7
<head> <title>标题页-学无忧(www.xue51.com)</title> <script language="JavaScript& ...
- Yii2 composer win7安装新建项目流程
一.首先下载 Composer-Setup.exe ,安装. 问题1:openSSL 问题,在php.ini 内去掉":"注释 问题2:browscap 问题 ,在php.ini ...
- python2.7_2.2_在套接字服务器上使用ForkingMixIn
Linux系统下才能用本程序.因为有Frok新的进程.... 代码如下: # -*- coding: utf-8 -*- import os import socket import threadin ...
- Python之路Day15
主要内容:WEB框架.Django基础 WEB框架 Web请求流程 -- 原始Web框架 -- 自定义Web框架 -- MVC 和 MTV # Models Views Controllers # 模 ...
