今天和朋友一起屁颠颠的跑去深圳参加了IMWeb Conf 2016,毕竟是第一次参加这种分享会,总是有那么一些小激动的.早上6点就起床跑去赶高铁去深圳啦,回到学校也差不多眼睛快睁不开了,但是打铁还是要趁热的,这次分享会让我对前端的了解更近了一步,现在就先回顾下今天的流程,总结下其中听到的技术.

我早上笔记主要是记下了 罗大大的HTTPS最佳实践 不得不说,这次关于HTTPS的分享让我对于HTTP2与HTTPS的了解又更深了一部,甚至在讲完后让我还有种意犹未尽的感觉.

不过在 HTTPS最佳实践 前首先是

IMWeb团队的一年回顾

其实相当于前端发展趋势与新技术的介绍

  • HTTPSHTTP2

  • 关于图片与音视频方面,webP-VP8的技术复用,收费的H.264和H.265,开源的VP8和VP9等等的介绍

  • 还有必不可少的今年必谈的ES6 (Babel)

  • React 还有React Native在项目中的使用

  • NodeJS

  • 音视频 关于RTP

其中有一些可能是一笔带过讲的点等到能看回放的时候再慢慢补上,先附上资料供自己学习查阅.
接下来可以说是对我来说含金量满满的HTTPS最佳实践了.也可能是早上精神比较好,对这方面的记忆也是比较清晰的.

HTTPS最佳实践

首先是引出HTTP明文传输造成的安全问题,并且提到了苹果要求 App 开发者在 2017 年前全部采用「HTTPS」链接这件事.
知乎链接奉上:
https://www.zhihu.com/questio...
接下来,说明了HTTPS应对的问题

  1. 解决了链路劫持

  2. 缓解了DNS劫持(并不是解决)
    HTTPS能应对链路劫持,但是对于客户端劫持(如木马等)而造成的问题是毫无办法的.

同时也提出了HTTPS造成的问题

  1. 网络耗时(最坏情况下多出7个RTT => 302跳转到https协议;ssl中2次完全握手;CA证书的验证)

  2. 计算耗时(HTTPS解密需要的时间)

关于优化的方案

  1. TCP连接

    • TCP fast open

    • 预连接(主页提前建立子页连接)

    • 长连接维持(发送空请求保持连接)

  2. SSL协议

    • 简化握手(Session resume),节省1RTT(全局session cache;全局session tciket)

    • [False Start]10节省1RTT

    • SSL record size连接稳定后动态增加

    • [Ocsp stapling]11

  3. 应用层协议

    • 减少302跳转(HSTS,HTTP Strict Transport Security:缺点是浏览器支持率不高,难降级为HTTP)

    • 预加载(浏览器内置)

    • HTTP1.X协议问题

      1. 串行

      2. Pipelining

      3. 单域名多连接(TCP特性所影响的)

      4. 多域名(HTTPS存在问题,建议3域名)

    • HTTP2

      1. 二进制

      2. 多路复用

      3. 头部压缩(接近90%,空请求提升)

      4. 优先级

      5. Server push

    • QUIC

      • 类似HTTP2(但基于UDP)

      • 0 RTT建连

      • 无TCP的对头阻塞

  4. 计算性能优化(主要优化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/...


thewindsword
498 声望19 粉丝

githubpage地址:thewindsword.github.io


下一篇 »
flex布局-学习