今天和朋友一起屁颠颠的跑去深圳参加了IMWeb Conf 2016,毕竟是第一次参加这种分享会,总是有那么一些小激动的.早上6点就起床跑去赶高铁去深圳啦,回到学校也差不多眼睛快睁不开了,但是打铁还是要趁热的,这次分享会让我对前端的了解更近了一步,现在就先回顾下今天的流程,总结下其中听到的技术.
我早上笔记主要是记下了 罗大大的HTTPS最佳实践 不得不说,这次关于HTTPS的分享让我对于HTTP2与HTTPS的了解又更深了一部,甚至在讲完后让我还有种意犹未尽的感觉.
不过在 HTTPS最佳实践 前首先是
IMWeb团队的一年回顾
其实相当于前端发展趋势与新技术的介绍
关于图片与音视频方面,webP-VP8的技术复用,收费的H.264和H.265,开源的VP8和VP9等等的介绍
React 还有React Native在项目中的使用
NodeJS
音视频 关于RTP
其中有一些可能是一笔带过讲的点等到能看回放的时候再慢慢补上,先附上资料供自己学习查阅.
接下来可以说是对我来说含金量满满的HTTPS最佳实践了.也可能是早上精神比较好,对这方面的记忆也是比较清晰的.
HTTPS最佳实践
首先是引出HTTP明文传输造成的安全问题,并且提到了苹果要求 App 开发者在 2017 年前全部采用「HTTPS」链接这件事.
知乎链接奉上:
https://www.zhihu.com/questio...
接下来,说明了HTTPS应对的问题
解决了链路劫持
缓解了DNS劫持(并不是解决)
HTTPS能应对链路劫持,但是对于客户端劫持(如木马等)而造成的问题是毫无办法的.
同时也提出了HTTPS造成的问题
网络耗时(最坏情况下多出7个RTT => 302跳转到https协议;ssl中2次完全握手;CA证书的验证)
计算耗时(HTTPS解密需要的时间)
关于优化的方案
-
TCP连接
预连接(主页提前建立子页连接)
长连接维持(发送空请求保持连接)
-
SSL协议
-
应用层协议
减少302跳转(HSTS,HTTP Strict Transport Security:缺点是浏览器支持率不高,难降级为HTTP)
预加载(浏览器内置)
-
HTTP1.X协议问题
串行
Pipelining
单域名多连接(TCP特性所影响的)
多域名(HTTPS存在问题,建议3域名)
-
HTTP2
二进制
多路复用
头部压缩(接近90%,空请求提升)
优先级
Server push
-
QUIC
类似HTTP2(但基于UDP)
0 RTT建连
无TCP的对头阻塞
-
计算性能优化(主要优化RSA)
非对称密钥优化(RSA消耗80%以上) => 异步代理计算 =>(优先使用ECC;新版openssl/libress;TLS)
签名校验
对称加解密
内容一致性
部署上的问题
多域名证书(多域型SSL证书可以同时用于同一台物理服务器上的所有网站域名的SSL安全加密,称为SAN)
SNI(用于让单个IP支持多个SSL证书配置的TLS协议扩展)(用是否支持SNI来认定浏览器是否支持SHA256. 默认给SHA1证书, 支持SNI时给SHA256证书)SHA1不安全,SHA256兼容性差的问题就解决了
HTTPS Referer传递问题(Meta referrer;如果是IE8-使用中间页进行跳转)
趋势
http1.1 ==> http2
http2 强制使用 https
ATS 使用https
加密强度 Rsa1024->2048->4096
最后 宣传了下知乎账号:)https://www.zhihu.com/people/...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。