HTTP/2: The Long-Awaited Sequel

Thursday, October 9, 2014 2:01 AM

Ready to speed things up?

Here at Microsoft, we’re rolling out support in Internet Explorer for the first significant rework of the Hypertext Transfer Protocol since 1999. It’s been a while, so it’s due.

While there have been lot of efforts to streamline Web architecture over the years, none have been on the scale of HTTP/2. We’ve been working hard to help develop this new, efficient and compatible standard as part of the IETF HTTPbis Working Group. It’s called, for obvious reasons, HTTP/2 – and it’s available now, built into the new Internet Explorer starting with the Windows 10 Technical Preview.

You can see an overview of the work we have been doing with the HTTPbis working group by checking out the Microsoft Open Technologies HTTP/2 page.

Why is Internet Explorer leading with HTTP/2 implementation?

Performance matters in an increasingly real-time and mobile world – even gains that may seem merely incremental make a difference. For instance a Bing study found that a 10ms increase in page load time costs the site $250K in revenue annually; a 100ms increase – that’s a third the speed of the blink of the human eye, mind you – undid three months of work that went into improving user engagement via better search results relevance. That 100ms delay in the responsiveness of a transactional web page has been shown to cost big online retailers up to 1% of sales due to search abandonment. So what this working group is doing has real economic impact.

What is wrong with what we had yesterday?

For the most part, the way a Web page gets loaded today happens pretty much the same way it did in the days of 800x600-pixel displays. Certainly the web is a faster place today, but it could be much faster and much more resource efficient.

Building a page today still requires a lot of individual queries between the browser and the server, and each individual call has to wait until the server responds before sending the next. Sure, you can open more independent, parallel connections, but this still limits how many items can be requested simultaneously. It also dictates the order of the responses and prevents the server from optimizing responses.

So how is HTTP/2 different?

HTTP/2 delivers the Web page elements quicker and more efficiently, taking advantage of all the available bandwidth. With long-lived connections and multiplexing (the protocol’s ability to combine multiple requests on one connection), more web page items arrive sooner. Experimental HTTP/2 features such as server push and request dependencies could further improve web performance in the future.

What does this mean for developers?

HTTP/2 was designed from the beginning to be backwards-compatible with HTTP/1.1. That means developers of HTTP libraries don't have to change APIs, and the developers who use those libraries won't have to change their application code. This is a huge advantage: developers can move forward without spending months bringing previous efforts up to date.

What about networks? And security?

Fewer and less frequent connections also means that HTTP/2 will put less pressure on the network – and when you consider the scale of the web today, that could significantly increase the efficiency of networks, particularly mobile ones. Given HTTP/2’s efficient connection model, the performance impact of adding TLS to a site will be lessened, opening up the opportunity for more administrators to add TLS to their sites.

When can I get it?

HTTP/2 support is in IE on the Windows 10 Technical Preview. The work on HTTP/2 for IE really began in Windows and Windows Phone 8.1 when we added the experimental SPDY 3.0 protocol. This gave us a chance to gain some experience with a multiplexing HTTP protocol and helped move us towards HTTP/2 and what will now be an industry standard.

SPDY was a good starting point for the HTTP/2 standard, but it is an experimental protocol that does not lend itself to long-term adoption. With the development of HTTP/2, we will remove support for SPDY in all future versions of IE. Web sites and applications currently using SPDY should be able to migrate to HTTP/2 with little or no changes.

How should developers and site owners prepare for the change?

The Technical Preview has HTTP/2 server support also. This means you can create sites in IIS and test your content end to end. Note: in the Technical Preview versions of both IE and IIS, non-secure connections (i.e. HTTP) are not supported on HTTP/2; only secure connections (i.e. HTTPS) are supported on HTTP/2.

Check out our HTTP/2 implementation and put it through its paces! Let us know if you have feedback via @IEDevChat or Connect.

— Rob Trace, Senior Program Manager

— David Walp, Senior Program Manager

转 HTTP/2: The Long-Awaited Sequel的更多相关文章

  1. sequel 连接不上,命令行能连上

    Sequel pro won't connect anymore I'm running into some trouble right now. I worked yesterday on my d ...

  2. Sequel Pro 免费的MySQL管理客戶端(有SSH部分)

    官方站點:http://www.sequelpro.com Sequel Pro 的原名是 CocoaMySQL,是一个与 phpMyAdmin 類似的 MySQL 管理工具.它是由 Cocoa 和面 ...

  3. 解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro 1.1 encountered an unexpected error

    解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro encountered an unexpected error Sequel Pr ...

  4. mysql5.6升级到5.7后Sequel Pro无法连接解决

    因为装ntop,brew自动升级了本地的Mysql,结果升级完成之后,使用Sequel Pro连接总是报错,使用mysql 命令行工具就没有问题. OSX版本 10.11.5 Mysql版本 5.6 ...

  5. Sequel自动生成Select语句

    Sequel 是 Mac 上的一款不错的 mysql 可视化编辑, 它有一个非常好的功能是可以定制自己的插件, 这就是Bundles. 利用这个功能可以写出自己常用的一些sql. 查询语句是最常用的, ...

  6. 使用Mac下的sequel Pro链接数据库时提示错误(已解决)

    使用Mac下的sequel Pro链接数据库时,出现如下问题: ? 1 MySQL said: Authentication plugin 'caching_sha2_password' cannot ...

  7. Mac 装Sequel pro 连接 Mysql 8.0 失败、登录不了、loading问题

    最近都没更新博客,零零散散的笔记也都没整理,so 觉得还是不放上来了. 高兴的是入手了期待好久的水果机,开始了各种捣鼓,好想大撸一下代码啊.... 回到正轨,刚装了mysql8.0, 想装下mysql ...

  8. Sequel Pro for Mac(MySQL 数据库管理工具)破解版安装

    1.软件简介    Sequel Pro 是一款管理 Mysql 的工具,界面简洁易用. 2.功能特色 FULL MYSQL SUPPORT Sequel Pro is a fast, easy-to ...

  9. MySQL可以通过phpmyadmin连接,但是无法通过SqlYog(Windows)或Sequel Pro(Mac)下进行远程连接

    更改数据库密码: update user set password=passworD("sunjingyu0509!") where user='root'; flush priv ...

  10. Sequel简介

    Sequel: Ruby数据库工具包 简介 Sequel是Ruby中用于访问SQL数据库的一个简单.灵活.强大的工具包. Sequel能够保证线程安全,提供了连接池功能以及简洁的SDL用于创建SQL查 ...

随机推荐

  1. 20145221 《Java程序设计》课程总结

    20145221 <Java程序设计>课程总结 每周读书笔记链接汇总 Atom使用心得 - 21世纪的编辑器 网络安全攻防学习平台 - 基础关 Java实现:数据结构之排序 2014522 ...

  2. POJ - 1463 Strategic game (树状动态规划)

    这题做的心塞... 整个思路非常清晰,d[i][0]表示第i个结点不设置监察的情况下至少需要的数量:d[i][1]表示第i个结点设置检查的情况下的最小需要的数量. 状态转移方程见代码. 但是万万没想到 ...

  3. js的原型继承

    <script> //动物(Animal),有头这个属性,eat方法 //名字这个属性 //猫有名字属性,继承Animal,抓老鼠方法 function Animal(name){ thi ...

  4. CNN中dropout层的理解

    dropout是在训练神经网络模型时,样本数据过少,防止过拟合而采用的trick.那它是怎么做到防止过拟合的呢? 首先,想象我们现在只训练一个特定的网络,当迭代次数增多的时候,可能出现网络对训练集拟合 ...

  5. 计算机网络七层协议模型 “开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)

    计算机网络七层协议模型 作者:Ryan    时间:2013年10月7日 一.物理层(Physical Layer) OSI模型的最低层或第一层,规定了激活.维持.关闭通信端点之间的机械特性.电气特性 ...

  6. 递归--练习7--noi1750全排列

    递归--练习7--noi1750全排列 一.心得 二.题目 1750:全排列 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个由不同的小写字母组成的字符串,输出这个字符串的所 ...

  7. C# SQLite事务操作方法分析

    本文实例讲述了C# SQLite事务操作方法.分享给大家供大家参考,具体如下: 在 C#中执行Sqlite数据库事务有两种方式:SQL代码和C#代码 1. SQL代码: BEGIN… COMMIT / ...

  8. UVA-11491 Erasing and Winning (单调队列)

    题目大意:给一个数字(开头非0),拿掉其中的d个数字,使剩下的数字最大(前后顺序不能变). 题目分析:拿掉d个数字,还剩下n-d个数字.相当于从n个数字中按先后顺序选出n-d个数字使组成的数字最大,当 ...

  9. WebApi用Post的方式提交Json时,获取不到值或不进对应方法的问题

    又是一个通宵,终于搞明白了. 被WebApi坑得好惨. 之前用各种方法Post上来,有时可以读到结构,但没值,有时直接就是一个Null,有时连方法都没进就跑了,只是来控制器里看了一下…… 最后好友说还 ...

  10. 记录Tomcat8.5文件上传,文件权限无法访问

    部署一个服务,文件上传本地可以,但是在Linux上通过docker发布到容器上,文件上传后,没有权限访问,查了好久才发现是Tomcat8.5的问题,低版本没有这个问题,现记录下. tomcat/bin ...