现在竟然还有人说 HTTPS 比 HTTP 慢……
1
heijiaotuan 2019-08-16 08:44:54 +08:00 via Android
tls 会变慢
|
2
zy445566 2019-08-16 09:00:33 +08:00
H2 提速比较大的点就两个一个是多路复用,一个二进制格式传输.但也对 HTTP 的 DEBUG 要求更高了,毕竟原来 HTTP 都是字符串格式传输的。剩下的都是拖慢速度的。
|
3
chenset 2019-08-16 09:03:03 +08:00
http 有 keepalive 的, h2 速度上好像就一个链接同时传多个文件(multiplex?)
所以我觉得速度上还是没法和 http 比 |
4
lhx2008 2019-08-16 09:06:10 +08:00 via Android
完胜?楼主可能对 TLS 有什么误解。
而且 HTTP2 并不一定要和 TLS 绑定的 |
5
2kCS5c0b0ITXE5k2 2019-08-16 09:12:41 +08:00
加密怎么可能比不加密快 tls1.3 最厉害也不过是 0-RRT
|
6
wnpllrzodiac 2019-08-16 09:20:17 +08:00 via Android
@chenset 我的 vps 用 2 就全堵一条路上了
|
7
houzhimeng 2019-08-16 09:22:47 +08:00
我们公司架构为了解决 dns 污染,把 http 请求全改成 https 了,并发连接瞬间上去了
|
8
lostberryzz 2019-08-16 09:26:34 +08:00
楼主你来分析一下 http 到底比 https 慢在哪
|
9
3CH0 2019-08-16 09:32:34 +08:00
http2.akamai.com/demo http2 快在多路复用吧
|
10
naeco 2019-08-16 09:33:41 +08:00
加密怎么可能比不加密还快,还有 http2 又不是和 tls 绑定了...
|
13
cissoid 2019-08-16 09:56:17 +08:00 1
看你指的是什么速度了。
HTTP 在 TCP 握手之后就可以直接发送数据,TLS 还有额外的握手过程。建立连接的速度肯定是 HTTP 快。 HTTP 明文传输,TLS 全程加密,但我觉得加密的影响主要还是 CPU 负载上,可能加密算法的 padding 等额外数据对传输速度的影响更大点。 HTTP/2 与其说是提高速度,不如说是提高 HTTP 的效率吧。HPACK 压缩 header,多路复用提高连接使用率,server push 减少客户端请求次数。但是遇到 head of line blocking 一样玩蛋。 以上都是个人脑补。 |
14
alphatoad 2019-08-16 10:02:03 +08:00 via iPhone
赶紧上 HTTP3 吧,一次 UDP 解决所有问题
至于加密,有 AES-NI 问题不大 |
15
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 快在哪,拿出说明来,别开口就来 |
16
jsq2627 2019-08-16 12:00:14 +08:00
我觉得这个问题要分场景看待:
1. 对于前端页面、前端资源,H2 多路复用、头部压缩等能极大提高页面加载速度,相比之下 TLS 增加的那点开销可以忽略了。而且前端资源都是 CDN 部署,服务器 CPU 开销很容易分散。 2. 对于后端 API,H2 的新特性没有太大收益,对比之下 TLS 的开销就不能忽略。API gateway 开 TLS 和不开 TLS 吞吐量会有明显差别,要搞分布式架构还比较麻烦。 |
17
liuminghao233 2019-08-16 12:29:53 +08:00 via iPhone
你拿 quic 来说快点还能理解
大家都是 tcp 的话 加密的比没加密的快? |
18
xenme 2019-08-16 12:37:10 +08:00 via iPhone
要是请求多,header 巨大的话,h2 multiplex 加上 header compression 可以节省大量的冗余流量和加快页面加载速度
但都是有前提条件的,你要说 YouTube 整个站点从 h1 切到 h2 那么确实整体是加速和节省流量的,但是某一个页面就不一定了。 |
19
wysnylc 2019-08-16 15:22:50 +08:00
tls 是加密方式,只会变慢不会变快
现在竟然还有人说 HTTPS 比 HTTP 慢…… 你这句话也太暴露自己了哈哈哈 |
20
zhujinliang 2019-08-16 15:54:35 +08:00 via iPhone
H2 能比现在的 H5 快?🌚
|
21
sherlockwhitebb 2019-08-16 16:32:49 +08:00
H5 也太秀了。
|
22
flynaj 2019-08-16 16:36:20 +08:00 via Android
看网页,大多数情况确实 https 要快,实测
|
23
jamesliu96 2019-08-16 17:08:42 +08:00 via Android
@zhujinliang 秀得头秃
|
24
lcdtyph 2019-08-16 17:35:15 +08:00 via iPhone
h2 的 server push 居然没人提…
假定 lz 说的速度是指一个网址从按下回车到渲染完毕的延时,两种情况都需要 dns 参与 在 h2+tls 的情况下,首次链接的 tls 握手带来的延时是不可忽略的,这一步就是比无 tls 情况的 http1.1 慢。而后面浏览器加载这个页面的其他资源的时候情况就不一样了, 首先就是 server push,一般会把一些 js css 跟随第一个页面一起推给客户端,这里 http1 一个一个去发 request 给服务器; 然后就是多路复用,同个域名下的若干个链接可以公用一个 tcp+tls session,这也省下了一部分延时; 还有就是 h2 的头压缩,在网页需要 http 头携带很多信息的情况下头压缩带来的好处也是很明显的。 因此,对于一个复杂的站点来说,h2+tls 确实有可能做到比普通 http1 更快。但是对于简单页面,那毫无疑问是普通 http1 快。 |
25
fairytale 2019-08-16 23:24:09 +08:00 via iPhone
因为运营商没劫持,所以快了
|
26
aawei 2019-08-16 23:51:32 +08:00 via iPhone
我只想知道老铁们。h2 有啥好的抓包改包工具吗?
|
27
Cu635 2019-08-17 10:54:37 +08:00
@nikandaoleshenme
https 比 http 快就快在了现在墙内的网络要对 http 包进行检测,技术之外的因素人为耽误的时间 https 是没有的。 |