Chinaunix

标题: 加速互联网新契机 你眼中的HTTP/2? [打印本页]

作者: 小尾巴鱼    时间: 2015-08-25 10:04
占个沙发贴图

作者: forgaoqiang    时间: 2015-08-26 17:12
2.0 靠谱 这个终于 可以实现双向通讯了 ~
作者: windoze    时间: 2015-08-26 17:28
本帖最后由 windoze 于 2015-08-26 17:32 编辑

可以预见HTTP/2在国内的应用步伐会非常之慢,谁让它非得加密来着,还要搞链接复用,你把习习和蛤蛤切开了我们的墙就发现不了了你造吗?

HTTP/2泥奏恺,泥挡住老大哥正在盯着你的双眼了!!!
作者: demilich    时间: 2015-08-26 17:32
HTTP/2是二进制的,消息会更加紧凑,速度更快
作者: shang2010    时间: 2015-08-26 19:17
可以开新板块,发图书列表么
作者: lyhabc    时间: 2015-08-26 20:51
http2这麽快应用?  
作者: forgaoqiang    时间: 2015-08-26 23:49
是的 我也有同感 内置安全机制 这个功能特性了不得 不能要 不符合国情  而且精简的差异头 http2.0已经是有状态的了 如果不从一开始进行状态追踪 中间内容很难解析

总之这些高科特性会成为它在国内推广困难的主要因素



windoze 发表于 2015-08-26 17:28
可以预见HTTP/2在国内的应用步伐会非常之慢,谁让它非得加密来着,还要搞链接复用,你把习习和蛤蛤切开了我 ...

作者: demilich    时间: 2015-08-26 23:55
本帖最后由 demilich 于 2015-08-26 23:55 编辑

1、您眼中的HTTP/2
HTTP/2针对HTTP/1的几个主要缺陷进行了修改,使用更高效安全的格式,通过压缩包头减少浪费,通过并行和复用提高利用率,减少对网络资源的浪费。从技术进步的角度上来讲,我支持HTTP/2的大面积快速应用

2、HTTP/2协议是文本协议还是二进制协议?为什么?
二进制,更紧凑更高效

3、为什么HTTP/2协议是多路复用的?
代替HTTP/1里的单个请求单个连接和流水线机制,通过多路复用能够同时处理多个消息的请求和响应,从而避免之前会出现的阻塞现象

4、“在使用HTTP/2协议时,浏览器与Web服务器之间仅会保持一个TCP连接。”这句话对吗?为什么?
是的,现在的HTTP/1,加载一个页面可能会出现多个TCP连接请求,占用过多网络资源、堵塞TCP和数据重传。HTTP/2里允许一个TCP连接里出现多个流的请求和响应复用,从而提高资源利用率,避免TCP连接频繁的开关

5、请详述HTTP/2协议的包头压缩。
HTTP/1里,一个页面上都会有很多个资源,那么加载这些资源的时候,每次请求都有1400字节的包头需要获取,需要来回若干次才能获得包头。HTTP/2里通过包头压缩,使得一次就能够获取,那么网络连接的时延会降低很多。这一点在移动终端上会体现的更明显。
HTTP/2里使用HPACK算法进行压缩和解压缩,算法会把HTTP包头压缩成不同的块,然后作为不同帧的负载传输出去,接收方收到后,会把帧组合成包头分块,然后使用HPACK算法进行解压缩。具体HPACK算法,可以查阅对应的SPEC

6、SPDY协议与HTTP/2协议有什么关系?
SPDY是HTTP/2的基础,SPDY的设计人员也参与了HTTP/2的制定,当然现在的HTTP/2和SPDY已经有比较大的区别。

7、我应该使用HTTP/2协议吗?HTTP/2协议的未来会怎样?
- 应该,技术进步的方向,能够有效缓解网络拥堵,提高网络传输的效率,降低时延
- 希望HTTP/2未来能够大面积推广,但是HTTP/1已经大量存在。新生事物的出现,一定会有很长的适应期的 ..
- 更远的未来会出现HTTP/3吗?
作者: qinyiwang    时间: 2015-08-27 11:50
不是很了解,会不会被一堵很大的“墙”给挡住了呢?
作者: shang2010    时间: 2015-08-27 19:44
请问,apache和nginx是自动传输的么,网站本身需要编码么,
还是只要简单配置一下的说
作者: nail78    时间: 2015-08-28 11:25
1、您眼中的HTTP/2
     响应更快,更安全

2、HTTP/2协议是文本协议还是二进制协议?为什么?
    二进制协议,二进制更节省资源

3、为什么HTTP/2协议是多路复用的?
    减少阻塞,充分利用资源,提高效率和响应速度

4、“在使用HTTP/2协议时,浏览器与Web服务器之间仅会保持一个TCP连接。”这句话对吗?为什么?
    对的,充分利用资源,提高效率和响应速度
5、请详述HTTP/2协议的包头压缩。
    不太了解,压缩可以节省资源,避免网络阻塞

6、SPDY协议与HTTP/2协议有什么关系?
    不太了解
7、我应该使用HTTP/2协议吗?HTTP/2协议的未来会怎样?
     应该使用,效率高,响应快,更安全
     技术不是问题,关键是政策,不要幻想短期内实现
作者: lsstarboy    时间: 2015-08-28 11:39
http2对整体的http修改不是太大,这不同于从html4到html5的转变,不需要太大的改动,仅仅是加了一些特征,并且现在客户端大多数已经开始支持,所以应该没有太大的技术障碍,但是政策的障碍还很难说,特别是http2使用的https。http2基于spdy3,有非常多的spdy的特征。nginx已经出了http2的补丁,但是跟spdy是互斥的,不能同时使用,其他几个web服务器也都或多或少的开始了。

一直对几个问题比较担心:

1、既然http2使用了长时间保持的tcp连接,那么对于大的NAT网络,会不会出现端口耗尽的问题,65535的限制是不可有突破的吧。
或者说,DDOS和DOS会不会更容易一些?
2、加密会不会带来服务器性能的下降?
3、代理服务器(CDN)是不是要进行修改才可以?
4、https会不会淘汰掉一部分小网站?一般的小网站是很难拿到证书的。
作者: ccjsj1    时间: 2015-08-30 13:03
1、您眼中的HTTP/2
        http2.0只能用于https网址,会更安全;

2、HTTP/2协议是文本协议还是二进制协议?为什么?
        是二进制的协议;
        二进制更有效利用网络资源;,通过允许头字段压缩和同一连接传输多个并发信息减少延迟;

3、为什么HTTP/2协议是多路复用的?
        是的,通过允许头字段压缩和同一连接传输多个并发信息减少延迟;

4、“在使用HTTP/2协议时,浏览器与Web服务器之间仅会保持一个TCP连接。”这句话对吗?为什么?
        是对的;
        因为可以充分利用资源,提高效率和响应速度;

5、请详述HTTP/2协议的包头压缩。
        头列表是有序的排列,在应用层的零个或多个头部字段的集合。当在一个连接上传输,一个头列表序列化为使用标题块的HTTP报头压缩。序列化的头块被分成一个或多个字节的序列,称为头块碎片,和标头;

6、SPDY协议与HTTP/2协议有什么关系?
        都是http头压缩的方式,原因是HTTP/1.1并不支持HTTP头压缩,为此SPDY和HTTP/2应运而生,SPDY使用了通用的DEFLATE算法,而HTTP/2则使用了专门为压缩头信息而设计的HPACK算法。

7、我应该使用HTTP/2协议吗?HTTP/2协议的未来会怎样?
        应该使用,效率高,响应快,更安全;
        技术不是问题,但普及还需要一段时间,觉得未来都应该使用http2.0;
作者: everlasting_188    时间: 2015-09-01 18:32
新技术,关注学习。
作者: jieforest    时间: 2015-09-04 14:14
回复 8# forgaoqiang


    其实这是好事,互联网本就该中立。
作者: jieforest    时间: 2015-09-04 14:20
回复 13# lsstarboy


    你例举的例子我不太赞同,HTML4到HTML5其实是一个飞跃,加入了太多的特性,并不只是标签的小改变。比如:Canvas、IndexedDB、WebWorker、WebGL、WebSocket、本地存储、音视频API、地图API、安全......,内容非常多。

    还有,HTTP/2对于HTTP 1.0/1.1来说是一个飞跃,首先多路复用就减少了端口的损耗,端口耗尽在之前不是问题的话,那么在HTTP/2就更不是问题了。
作者: lsstarboy    时间: 2015-09-04 14:31
回复 17# jieforest

第一个问题你看错了,我的意思是html4到html5改变的太多,但是http1.1到http2,改变的不是太多,并且添加的几个功能已经通过其他方式实现了,所以不存在什么大的障碍,特别不像flash到video标签涉及到解码、视频格式等这么大的变动。

第二个问题,因为http1.1会及时释放,端口会马上重新投入使用,所以会出现两个ip之间连接数大于65535的情况,但是http2会保持连接,特别是实现双向通讯的时候,这个会话会保持住,不能及时释放。
   
作者: lsstarboy    时间: 2015-09-04 15:35
下面这几句其实很让人担忧,不知道连接能保持多长时间:

HTTP/2 connections are persistent. For best performance, it is expected that clients will not close connections until it is determined that no further communication with a server is necessary (for example, when a user navigates away from a particular web page) or until the server closes the connection.


还有下面几句,没怎么看懂,但是看起来不是好事:
The CONNECT method can be used to create disproportionate load on an proxy, since stream creation is relatively inexpensive when compared to the creation and maintenance of a TCP connection. A proxy might also maintain some resources for a TCP connection beyond the closing of the stream that carries the CONNECT request, since the outgoing TCP connection remains in the TIME_WAIT state. Therefore, a proxy cannot rely on SETTINGS_MAX_CONCURRENT_STREAMS alone to limit the resources consumed by CONNECT requests.

作者: jieforest    时间: 2015-09-04 19:07
回复 18# lsstarboy


    嗯,赞一个




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2