Https协议
2016-11-02 本文已影响0人
美得冒泡的姗迪
一.https简单介绍
http://www.ruanyifeng.com/blog/2014/09/ssl-latency.html
https://my.oschina.net/u/565430/blog/336539
二.https Mixed content
参考:https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content
[Mixed content]
当我们访问一个html页面的时候,我们通过https来加载的页面,但是大多数的页面并不是一次性全部加载完成,
我们还需要分步加载页面上的其它子元素,比如images, videos, stylesheets, scripts等。这些子请求最好是https的,如果是http的话,就会发生Mixed content。
[Mixed content的危害]
大概分成两种危害等级(具体例子可以查看参考文档):
1.Passive mixed content
中间人攻击只能操纵被拦截到的不安全的http请求,并仅能对这部分进行破坏,不会对其它部分进行影响,比如图片换成广告 之类的。
2.Active mixed content
破坏者会通过一个子请求进而破坏整个页面, 比如scripts, stylesheets, iframes, flash resources, and other code 能够下载执行的。
[https做了什么来避免危害]
Using HTTPS has three main benefits:
Authentication:https会让浏览器检查是否打开了正确的网站,而不是重定向到危险的网站
Data integrity:https会让浏览器检查是不是曾经有谁修改过数据
Secrecy:https会让浏览器检查是否曾经有谁看过数据
详细的还可以看:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
[那为甚么没有将这种危害全部block 呢]
因为有太多的网站存在https链接中再发起http请求,如果都block的话,会造成这些网站不可用
目前只是挑了一些很严重的级别的进行了阻断,其它的都是警告,具体可以看一下参考文档。
三.https性能
[变慢的原因]
HTTP请求要经过建立TCP连接这一步,而TCP为了可靠传输,建立连接需要三次握手。如果网站又接入了HTTPS,那还要额外多两次RTT时间以建立安全通道,这样耗费了很多时间。
在使用的时候,通常会进行请求复用。
比如,对新老图片功能做对比,如果https接口的图片加载有明显的卡顿现象,就说明没有尽兴连接复用。
[web优化方式]
https://www.kancloud.cn/digest/web-performance-http2/74822
[重用Session提高https性能]
http://www.jdon.com/performance/speeding-up-https-with-session-resumption.html