站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
HTTP/2
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
HTTP/2是[[HTTP]]协议的第二个主要版本,设计目标是提升[[网络]]传输性能和效率。它在保留HTTP/1.x的核心概念的同时,引入了一些重要的新特性,主要用于改善[[网页]]加载速度和用户体验。 == HTTP/2发展历史 == * HTTP/0.9:这是最早的原型,发布于1991年,仅支持[[GET]]方法,不支持[[MIME]]类型和各种HTTP首部等。 * HTTP/1.0:发布于1996年,引入了多种方法和首部,支持多媒体对象的处理,丰富了浏览器与服务器的互动手段。 * HTTP/1.1:于1999年正式发布,完善了结构性缺陷,明确了语义,支持更复杂的[[Web]]应用,至今仍被广泛使用。 * SPDY:由[[Google]]开发,旨在解决HTTP/1.1效率不高的问题,于2009年公开,到2016年初结束使命,因为HTTP/2已被IETF标准化。 * HTTP/2:最新的HTTP协议,于2015年5月份正式发布,主流[[浏览器]]均已支持。 == HTTP/2主要特性 == '''1、多路复用(Multiplexing)''' HTTP/2允许在一个连接上并发处理多个请求和响应,而不需要等待前一个请求完成。减少了因队头阻塞(Head-of-Line Blocking)引起的延迟,从而提高了网络效率。 '''2、头部压缩(Header Compression)''' HTTP/2使用HPACK压缩算法对HTTP头部信息进行压缩,减少数据传输量。减小了请求和响应的开销,尤其在重复的请求中,压缩效果显著。 '''3、服务器推送(Server Push)''' [[服务器]]可以主动向客户端推送资源,而不仅仅是响应[[客户端]]的请求,预加载页面上可能需要的资源,提高页面加载速度。 '''4、二进制分帧(Binary Framing)''' HTTP/2将数据转换为二进制格式并分成小的帧进行传输。比 HTTP/1.x 的文本格式更高效,能够更好地处理网络流量。 '''5、流量控制(Flow Control)''' HTTP/2允许客户端和服务器对数据流进行流量控制,以避免过度的数据传输。优化了带宽的使用,防止数据传输过程中的拥塞和丢包。 '''6、优先级(Prioritization)''' HTTP/2允许客户端为不同的请求设置优先级,以便服务器可以优先处理重要的资源。提高了重要资源的加载速度,优化了用户体验。 == 兼容性与实施 == * 向下兼容:HTTP/2 设计为与 HTTP/1.x 兼容,因此可以在支持 HTTP/2 的服务器和客户端之间进行无缝升级。 * 使用 HTTPS:尽管 HTTP/2 规范本身不强制要求使用 HTTPS,但大多数浏览器和服务器将 HTTP/2 实现与 [[HTTPS]] 结合使用,以提升安全性。 == 性能改进 == * 减少延迟:通过多路复用和服务器推送技术,HTTP/2 大幅减少了页面加载的延迟。 * 更高效率:二进制分帧和头部压缩降低了数据传输量,提升了带宽利用率。 * 优化用户体验:流量控制和优先级机制使得重要资源可以优先加载,从而改善用户体验。 == 实施情况 == * 浏览器支持:现代主流浏览器(如 Chrome、[[Firefox]]、Safari 和 Edge)均支持 HTTP/2。 * 服务器支持:大多数现代 web 服务器(如 Apache、Nginx 和 IIS)都支持 HTTP/2。 == 协议制定 == 协议制定伊始,工作组章程关注了下列目标和受关心的问题: 1、创建一个协商协议标准,即应用层协议协商(ALPN),以便客户端能够从HTTP/1.0、HTTP/1.1、HTTP/2乃至其他非HTTP协议中做出选择。 2、与HTTP/1.1在请求方法、状态码乃至[[URI]]和绝大多数HTTP头部字段等方面保持高度兼容性。 3、通过以下举措,减少网络延迟,提高浏览器的页面加载速度: * 对HTTP头字段进行数据压缩(即HPACK算法); * HTTP/2 服务端推送(Server Push); * 请求管线化; * 修复HTTP/1.0版本以来未修复的队头阻塞问题; * 对数据传输采用多路复用,让多个请求合并在同一TCP连接内。 4、支持现有的HTTP应用场景,包括桌面和移动设备浏览器,网络API,不同规格的网络服务器和正向代理、反向代理服务器软件,防火墙,CDN等。 == HPACK算法 == HPACK算法是新引入HTTP/2的一个算法,用于对HTTP头部做压缩。其原理在于: * 客户端与服务端根据RFC 7541的附录A,维护一份共同的静态字典(Static Table),其中包含了常见头部名及常见头部名称与值的组合的代码; * 客户端和服务端根据先入先出的原则,维护一份可动态添加内容的共同动态字典(Dynamic Table); * 客户端和服务端根据RFC 7541的附录B,支持基于该静态哈夫曼码表的哈夫曼编码(Huffman Coding)。 == 相关条目 == * [[HTTP]] * [[HTTPS]] * [[HTTP协议状态码]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)