针对下载看了 HTTPS 还是放弃

2017-08-03 05:28:07 +08:00
 tangren
刚刚测试下 https 下载和 Http 下载速度对比。同站点单线程下载速度 https 只有 http 的 30%左右,看来 https 有些情况下还是不要应用
14188 次点击
所在节点    程序员
82 条回复
Love4Taylor
2017-08-03 09:31:45 +08:00
好奇 如果是网页的话 楼上是怎么静态资源用 http 的 还是说整站全部 http
honeycomb
2017-08-03 09:34:49 +08:00
@bkmi
问题是它连 url 都不知道(只知道域名),怎么替换 apk ?
如果无脑中间人,浏览器直接中断连接。
imnpc
2017-08-03 09:41:00 +08:00
HTTP2 + HTTPS 解决问题...
janxin
2017-08-03 09:47:04 +08:00
wget 试了一下下载阿里云 MongoDB 镜像,文件大小 30M,速度没有 LZ 说的这么夸张啊?

$ wget https://mirrors.aliyun.com/mongodb/apt/ubuntu/dists/xenial/mongodb-org/3.2/multiverse/binary-amd64/mongodb-org-tools_3.2.16_amd64.deb
--2017-08-03 09:44:16-- https://mirrors.aliyun.com/mongodb/apt/ubuntu/dists/xenial/mongodb-org/3.2/multiverse/binary-amd64/mongodb-org-tools_3.2.16_amd64.deb
Resolving mirrors.aliyun.com... 115.28.122.210, 112.124.140.210
Connecting to mirrors.aliyun.com|115.28.122.210|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31757838 (30M) [application/octet-stream]
Saving to: ‘ mongodb-org-tools_3.2.16_amd64.deb ’

mongodb-org-tools_3.2.16_amd64. 100%[======================================================>] 30.29M 1.00MB/s in 33s

2017-08-03 09:44:49 (940 KB/s) - ‘ mongodb-org-tools_3.2.16_amd64.deb ’ saved [31757838/31757838]

$ wget http://mirrors.aliyun.com/mongodb/apt/ubuntu/dists/xenial/mongodb-org/3.2/multiverse/binary-amd64/mongodb-org-tools_3.2.16_amd64.deb
--2017-08-03 09:45:10-- http://mirrors.aliyun.com/mongodb/apt/ubuntu/dists/xenial/mongodb-org/3.2/multiverse/binary-amd64/mongodb-org-tools_3.2.16_amd64.deb
Resolving mirrors.aliyun.com... 115.28.122.210, 112.124.140.210
Connecting to mirrors.aliyun.com|115.28.122.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31757838 (30M) [application/octet-stream]
Saving to: ‘ mongodb-org-tools_3.2.16_amd64.deb.1 ’

mongodb-org-tools_3.2.16_amd64. 100%[======================================================>] 30.29M 863KB/s in 34s
zpf124
2017-08-03 09:48:11 +08:00
@honeycomb
你太小看各大运营是的本事了, 人知道你完整 url 干啥,粗暴一点的直接根据 url 最后一节的 xxx.apk 文件名匹配拦截,
当然 如果你的下载链接是 download/123456,然后后端程序去读取对应资源,那估计只要你不是做的特别大确实是没事。
imnpc
2017-08-03 09:49:47 +08:00
刚测试了 100M 文件 http https+http2 下载速度无差别
Showfom
2017-08-03 09:50:09 +08:00
楼主你自己没优化好吧 https 也就是 tls 握手的时候稍微消耗点资源 怎么可能只有 30% 基本上肉眼都可以忽略
还有一种情况就是你本地 isp 对 443 端口限速了 嘿嘿
mengskysama
2017-08-03 09:51:54 +08:00
带不带 s 下载过程应该是没差的,带宽跑不满应该是其他原因
linus3389
2017-08-03 09:53:49 +08:00
存一些杂七杂八的静态资源完全没必要上 HTTPS

程序员都是理性生物,可控范围都会为了性能做到极致的

最大的可能就是某天你 BOSS 过来找你“为什么别人家网站是绿的,我们就不行?快,给我整上!”
isCyan
2017-08-03 09:54:56 +08:00
30% 不可能的事
zpf124
2017-08-03 09:55:47 +08:00
正常情况下,https 比 http 唯一更消耗资源和时间的地方就是在建立连接交换秘钥的时候, 而下载文件一般都是稳定的不断开的长连接啊,在这种情况下按道理 tsl 消耗的时间在整个下载过程占得比例应该非常低啊。

所以
是电脑太垃圾了,处理数据解密的能力太差?
还是 cdn 缓存了,但 cdn 只支持 http 缓存导致?
再或者下载软件支持 p2p,https 的时候 p2p 支持不太好?
usedname
2017-08-03 10:14:08 +08:00
免费的 CDN,嗯,附带免费的网络劫持
giuem
2017-08-03 10:20:10 +08:00
@Actrace 你可能是没遇到过 js 文件被劫持修改的情况
121121121
2017-08-03 10:22:24 +08:00
http 下载快应该就是运营商的劫持缓存了吧
Sendya
2017-08-03 10:50:17 +08:00
我见过我下载 LOL Client,12MB/s 从阿里云服务器上下载一个随机生成的 100Mb.bin 文件 500Kb/s 没错(使用 https,阿里云开的按量计费 100M 带宽),它就是长宽。
鉴于楼主的情况,https 真吉儿慢
TestSmirk
2017-08-03 11:19:54 +08:00
证书验证完了就没啥事了吧。。
xierch
2017-08-03 12:29:05 +08:00
绝大部分资源都有 HTTPS 的必要……
就算只是做下载,内容被掉包、掺私货加广告也很蛋疼。
此外还有一些隐私方面的好处…

少数应用另有措施检查所下内容的签名、hash,倒是可以考虑只用 HTTP ……比如各 Linux 发行版的软件源,全是公开内容、带签名认证,就经常这样做。但就算这种场景,现在也都开始陆续上 HTTPS 了,因为可能受到重放攻击( https://isis.poly.edu/~jcappos/papers/cappos_mirror_ccs_08.pdf )。

总之我觉得「无脑上 HTTPS 」挺好的……
tomczhen
2017-08-03 12:39:23 +08:00
说不用全局 HTTPS 的显然是不了解劫持能做到什么地步。
flyingghost
2017-08-03 12:45:50 +08:00
1,下载做 https 就是为了防劫持防篡改。
你下.apk 我就给你篡改包。
你不用.apk 做 url 我也可以看 mimetype。
你连 mimetype 都换掉我也可以缓存 content 部分做旁路分析,下一个请求遇到同 url 我就可以调包了。
apk、js 劫持已经是常见思路了。图片也可以帮你打水印啊。
2,https 成本在建立连接,以及加密上。建立连接成本确实高,但针对一个连接来说,尤其在下载场合,这点增加微乎其微。加密是对称加密,对现代 cpu 都不是事。
3,CDN 照样可以 https。现在 CDN 连证书都不跟你要,他们送。
4,下载后再校验这活,首先没有自动化机制得自己实现,其次还得考虑签名的成本。md5 之类散列倒是成本低,就得好好设计防止把 payload 和散列一起篡改了。
5,实用角度来讲,http 的生存空间越来越尴尬了。混合内容浏览器会警告,iOS 直接不予支持。
无脑 https,省心省力,好处多多。自从上了 https,我们网站和 API 接口的安全措施都可以不那么费神了。
Quaintjade
2017-08-03 12:51:49 +08:00
@Mutoo
sftp 应该最慢,因为那是 ssh ftp。要比也应该是 ftps (ftp over ssl/tls)

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

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

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

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

© 2021 V2EX