详解全站 HTTPS 访问优化
admin
2023-02-05 14:40:04
0次

HTTPS 协议就是 HTTP+SSL/TLS,即在 HTTP 基础上加入 SSL /TLS 层,提供了内容加密、身份认证和数据完整性3大功能,目的就是为了加密数据,用于安全的数据传输。

HTTPS 通过3大功能增加了数据传输安全,但同时也给Web性能优化带来了新的挑战。

  • HTTPS降低用户访问速度(需多次握手)

  • 网站改用 HTTPS 以后,由 HTTP 跳转到 HTTPS 的方式增加了用户访问耗时(多数网站采用 301、302 跳转)

  • HTTPS 涉及到的安全算法会消耗 CPU 资源,需要增加服务器资源(https 访问过程需要加解密)

HTTP跳转至HTTPS交互过程解析

1. 用户在浏览器里输入  点击回车以后,浏览器与服务器发生三次握手;

2. 服务器收到用户的请求,响应 301 状态码,让用户跳转到 HTTPS ,重新请求 ;

3. 用户重新发起 HTTPS 请求,再次与服务器进行三次 TCP 握手;

4. TCP 握手成功后,浏览器开始与服务器进行 TLS 握手。HSTS重定向技术

又拍云采用了 HSTS(HTTP Strict Transport Security)技术,启用HSTS后,将保证浏览器始终连接到网站的 HTTPS 加密版本。

1. 用户在浏览器里输入 HTTP 协议进行访问时,浏览器会自动将 HTTP 转换为 HTTPS 进行访问,确保用户访问安全;

2. 省去301跳转的出现,缩短访问时间;

3. 能阻止基于 SSL Strip 的中间人***,万一证书有错误,则显示错误,用户不能回避警告,从而能够更加有效安全的保障用户的访问。

TLS握手优化

在传输应用数据之前,客户端必须与服务端协商密钥、加密算法等信息,服务端还要把自己的证书发给客户端表明其身份,这些环节构成 TLS 握手过程。

TLS False Start 功能

又拍云采用了 False Start (抢先开始)技术,浏览器在与服务器完成 TLS 握手前,就开始发送请求数据,服务器在收到这些数据后,完成 TLS 握手的同时,开始发送响应数据。

开启 False Start 功能后,数据传输时间讲进一步缩短。

Session Identifier(会话标识符)复用

如果用户的一个业务请求包含了多条的加密流,客户端与服务器将会反复握手,必定会导致更多的时间损耗。或者某些特殊情况导致了对话突然中断,双方就需要重新握手,增加了用户访问时间。

因此又拍云提供了 Session Identifier(会话标识符)复用功能

(1)服务器为每一次的会话都生成并记录一个 ID 号,然后发送给客户端;

(2)如果客户端发起重新连接,则只要向服务器发送该 ID 号;

(3)服务器收到客户端发来的 ID 号,然后查找自己的会话记录,匹配 ID 之后,双方就可以重新使用之前的对称加密秘钥进行数据加密传输,而不必重新生成,减少交互时间。

因此又可以进一步降低客户端的访问时间,提升用户的访问体验。又拍云已默认开启此功能,无需特殊配置,抓包如下图所示:

开启OSCP Stapling,提高TLS握手效率

采用OCSP Stapling ,提升 HTTPS 性能。服务端主动获取 OCSP 查询结果并随着证书一起发送给客户端,从而客户端可直接通过 Web Server 验证证书,提高 TLS 握手效率。

由又拍云服务器模拟浏览器向 CA 发起请求,并将带有 CA 机构签名的 OCSP 响应保存到本地,然后在与客户端握手阶段,将 OCSP 响应下发给浏览器,省去浏览器的在线验证过程。由于浏览器不需要直接向 CA 站点查询证书状态,这个功能对访问速度的提升非常明显。

完全前向加密PFS,保护用户数据,预防私钥泄漏

非对称加密算法 RSA,包含了公钥、私钥,其中私钥是保密不对外公开的,由于此算法既可以用于加密也可以用于签名,所以用途甚广,但是还是会遇到一些问题:

(1) 假如我是一名***,虽然现在我不知道私钥,但是我可以先把客户端与服务器之前的传输数据(已加密)全部保存下来

(2)如果某一天,服务器维护人员不小心把私钥泄露了,或者服务器被我攻破获取到了私钥

(3)那我就可以利用这个私钥,破解掉之前已被我保存的数据,从中获取有用的信息

所以为了防止上述现象发生,我们必须保护好自己的私钥。

但如果私钥确实被泄漏了,那我们改如何补救呢?那就需要PFS(perfect forward secrecy)完全前向保密功能,此功能用于客户端与服务器交换对称密钥,起到前向保密的作用,也即就算私钥被泄漏,***也无法破解先前已加密的数据。

实现此功能需要服务器支持以下算法和签名组合:

(1)ECDHE 密钥交换、RSA 签名;

(2)ECDHE 密钥交换、ECDSA 签名;

又拍云已默认支持上述组合,无需特殊配置,抓包如下图所示:

HTTP/2协议支持

HTTP/2 是在 HTTPS 协议的基础上实现的,所以只要使用又拍云 HTTPS 加速服务的域名,都可免费享受 HTTP/2 服务,无需做任何特殊配置。全平台支持默认开启 HTTP/2.0 , 无缝兼容各浏览器及服务器。


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...