HTTPS网站的内幕
什么是HTTPS网站?
HTTPS可以理解为HTTP+TLS,HTTP是互联网中使用最为广泛的协议,目前大部分的WEB应用和网站都是使用HTTP协议传输。
那网站为什么要实现HTTPS?
一言概之,为保护用户隐私和网络安全。通过数据加密、校验数据完整性和身份认证三种机制来保障安全。
https://www.ssllabs.com/ssltest/ bodor.cn
提高HTTPS网站性能和访问速度
如果你认为网站加上TLS证书,就是HTTPS网站了,那你就跟12306犯了同样的错误……
首先,网站在加上TLS证书时,为什么会变慢?这主要又两方面造成:
1. HTTPS比HTTP在通信时会产生更多的通信过程,随之RTT时间就会增加;
2. HTTPS通信过程的非对称和对称加解密计算会产生更多的服务器性能和时间上的消耗。
- HSTS
HTTPS网站通常的做法是对HTTP的访问在服务器端做302跳转,跳转到HTTPS。但这个302跳转存在两个问题:
1. 使用不安全的HTTP协议进行通信;
2. 增加一个Round-Trip Time。
而HSTS是HTTP Strict Transport Security的缩写,服务器端配置支持HSTS后,会在给浏览器返回的HTTP Header中携带HSTS字段,浏览器在获取到该信息后,在接下来的一段时间内,对该网站的所有HTTP访问,浏览器都将请求在内部做307跳转到HTTPS,而无需任何网络过程。
- Session Resume
Session Resume即会话复用,这提升HTTPS网站性能最基础也是最有效的方法。
在HTTPS握手阶段,对服务器性能消耗最为严重的是非对称密钥交换计算,而Session Resume通过对已经建立TLS会话的合理复用,节省非对称密钥交换计算次数,可大幅提高服务器的TLS性能。
最新文章
- spring整合hibernate的时候报异常org.hibernate.HibernateException: createQuery is not valid without active transaction
- Oracle date 和 timestamp 区别
- 在Openfire中使用自己的数据表之修改配置文件
- 图层的transform属性
- Vue入门演示
- [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
- JavaWeb基础: 学习大纲
- 名词解释:DRAM, SRAM, SDRAM等
- Make Ubuntu 14.04 Fullscreen and virtualbox
- 读书笔记之 - javascript 设计模式 - 适配器模式
- mvc使用JsonResult返回Json数据
- nginx+php+mysql+wordpress搭建简单站点 安装及配置过程
- jQuery.on() 函数详解 【转载】
- Java集合框架详解(全)
- Java开发笔记(六十五)集合:HashSet和TreeSet
- 网页静态化技术--Freemarker入门
- 我的代码-random forest
- public private protected default
- unicode 和 utf-8字符编码的区别
- python的__getitem__
热门文章
- STL_std::iterator
- [设计模式]工厂模式factory
- ASCII 和 Unicode 编码的由来
- SpringBoot+Mybatis-Generator自动生成
- English trip -- VC(情景课)1 D
- Android设计模式之工厂模式
- git查看本地分支关联(跟踪)的远程分支之间的对应关系,本地分支对应哪个远程分支
- H5基础知识(一)
- 开发环境运行正常,发布服务器后提示HTTP 错误 403.14 - Forbidden
- centos 7安装vmtools时提示The path ";"; is not a valid path to the xxx kernel headers.