HTTPS 协议就是 HTTP+SSL/TLS,即在 HTTP 基础上加入 SSL /TLS 层,提供了内容加密、身份认证和数据完整性3大功能,目的就是为了加密数据,用于安全的数据传输。
HTTPS 通过3大功能增加了数据传输安全,但同时也给Web性能优化带来了新的挑战。
- HTTPS降低用户访问速度(需多次握手)
- 网站改用 HTTPS 以后,由 HTTP 跳转到 HTTPS 的方式增加了用户访问耗时(多数网站采用 301、302 跳转)
- HTTPS 涉及到的安全算法会消耗 CPU 资源,需要增加服务器资源(https 访问过程需要加解密)
HTTP跳转至HTTPS交互过程解析
1. 用户在浏览器里输入 http://www.domain.com/1213.gif 点击回车以后,浏览器与服务器发生三次握手;
2. 服务器收到用户的请求,响应 301 状态码,让用户跳转到 HTTPS ,重新请求 https://www.domain.com/1213.gif;
3. 用户重新发起 HTTPS 请求,再次与服务器进行三次 TCP 握手;
4. TCP 握手成功后,浏览器开始与服务器进行 TLS 握手。