在 H2 和 TLS1.3 的加持下, HTTPS 的速度是不是完胜 HTTP 了?

2019-08-16 08:41:47 +08:00
 weiruanniubi

现在竟然还有人说 HTTPS 比 HTTP 慢……

4730 次点击
所在节点    问与答
27 条回复
heijiaotuan
2019-08-16 08:44:54 +08:00
tls 会变慢
zy445566
2019-08-16 09:00:33 +08:00
H2 提速比较大的点就两个一个是多路复用,一个二进制格式传输.但也对 HTTP 的 DEBUG 要求更高了,毕竟原来 HTTP 都是字符串格式传输的。剩下的都是拖慢速度的。
chenset
2019-08-16 09:03:03 +08:00
http 有 keepalive 的, h2 速度上好像就一个链接同时传多个文件(multiplex?)

所以我觉得速度上还是没法和 http 比
lhx2008
2019-08-16 09:06:10 +08:00
完胜?楼主可能对 TLS 有什么误解。
而且 HTTP2 并不一定要和 TLS 绑定的
emeab
2019-08-16 09:12:41 +08:00
加密怎么可能比不加密快 tls1.3 最厉害也不过是 0-RRT
wnpllrzodiac
2019-08-16 09:20:17 +08:00
@chenset 我的 vps 用 2 就全堵一条路上了
houzhimeng
2019-08-16 09:22:47 +08:00
我们公司架构为了解决 dns 污染,把 http 请求全改成 https 了,并发连接瞬间上去了
lostberryzz
2019-08-16 09:26:34 +08:00
楼主你来分析一下 http 到底比 https 慢在哪
3CH0
2019-08-16 09:32:34 +08:00
http2.akamai.com/demo http2 快在多路复用吧
naeco
2019-08-16 09:33:41 +08:00
加密怎么可能比不加密还快,还有 http2 又不是和 tls 绑定了...
wszgrcy
2019-08-16 09:41:11 +08:00
@naeco http2 下不是强制 https 吗?
jsq2627
2019-08-16 09:55:21 +08:00
@lhx2008 #4 标准现在不要求绑定,但是主流浏览器实现还是要求 h2 绑定 tls
cissoid
2019-08-16 09:56:17 +08:00
看你指的是什么速度了。

HTTP 在 TCP 握手之后就可以直接发送数据,TLS 还有额外的握手过程。建立连接的速度肯定是 HTTP 快。

HTTP 明文传输,TLS 全程加密,但我觉得加密的影响主要还是 CPU 负载上,可能加密算法的 padding 等额外数据对传输速度的影响更大点。

HTTP/2 与其说是提高速度,不如说是提高 HTTP 的效率吧。HPACK 压缩 header,多路复用提高连接使用率,server push 减少客户端请求次数。但是遇到 head of line blocking 一样玩蛋。

以上都是个人脑补。
alphatoad
2019-08-16 10:02:03 +08:00
赶紧上 HTTP3 吧,一次 UDP 解决所有问题
至于加密,有 AES-NI 问题不大
nikandaoleshenme
2019-08-16 10:21:48 +08:00
lz 的服务器都怕是在国内吧,响应时间都是 1000ms 以内吧,没碰到那种 2 3s 的延迟

阿里云上的香港区域 ESC,使用 https,DNS 也是阿里的,业务有美国那边的访问,
测试了接口,平均 DNS 解析 900-1100ms,TCP Handshake 20-40ms,SSL Handshake 50-60ms 后续的数据传输 300-500ms 一次最简单的接口请求 1500-2000ms ,后面的请求如果是长连接的的话少了 DNS 和 SSL 会快很多,300-500ms

若 http 直接使用 IP 的话,https 比它多两个步骤 DNS 解析和 SSL 校验,
你说 https 比 http 快在哪,拿出说明来,别开口就来
jsq2627
2019-08-16 12:00:14 +08:00
我觉得这个问题要分场景看待:
1. 对于前端页面、前端资源,H2 多路复用、头部压缩等能极大提高页面加载速度,相比之下 TLS 增加的那点开销可以忽略了。而且前端资源都是 CDN 部署,服务器 CPU 开销很容易分散。
2. 对于后端 API,H2 的新特性没有太大收益,对比之下 TLS 的开销就不能忽略。API gateway 开 TLS 和不开 TLS 吞吐量会有明显差别,要搞分布式架构还比较麻烦。
liuminghao233
2019-08-16 12:29:53 +08:00
你拿 quic 来说快点还能理解

大家都是 tcp 的话
加密的比没加密的快?
xenme
2019-08-16 12:37:10 +08:00
要是请求多,header 巨大的话,h2 multiplex 加上 header compression 可以节省大量的冗余流量和加快页面加载速度

但都是有前提条件的,你要说 YouTube 整个站点从 h1 切到 h2 那么确实整体是加速和节省流量的,但是某一个页面就不一定了。
wysnylc
2019-08-16 15:22:50 +08:00
tls 是加密方式,只会变慢不会变快

现在竟然还有人说 HTTPS 比 HTTP 慢……

你这句话也太暴露自己了哈哈哈
zhujinliang
2019-08-16 15:54:35 +08:00
H2 能比现在的 H5 快?🌚

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/592333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX