HTTP与HTTPS(转)
一、什么是HTTP? 什么是HTTPS?
HTTP:(Hyper Text Transfer Protocol 超文本传输协议)
HTTPS:(Hyper Text Transfer Protocol 超文本传输安全协议)
HTTP百度百科解释:设计HTTP的最初目的是为了提供一种发布和接收HTML页面的方法。
HTTPS百度百科解释:是以安全为目标的HTTP通道,简单来讲是HTTP的安全版。HTTP的安全基础是SSL,因为加密的详细内容需要SSL。
SSL:SSL(Secure Sockets Layer安全套接层),及其继任者TLS(Transport Layer Security 传输层安全)是为网路通信提供安全及数据完整的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
二、两者有什么区别?
1、https协议需要到ca申请证书。
2、http是超文本传输协议,信息是明文传输的,https则具有ssl加密传输协议。
3、http和https是完全不同的连接方式,端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态性的;https协议是由ssl+http协议构建的进行加密传输、身份验证的网络协议,比http协议安全。
三、HTTPS的工作原理
客户端在使用HTTPS方式与web通信时有以下几个步骤:
(1) 客户端使用https的url访问web服务器,要求与服务器建立ssl连接。
(2) web服务器收到客户端请求后,会将网站的证书信息(证书包含公钥)传送一份给客户端。
(3) 客户端的浏览器与web服务器开始协商ssl连接的安全等级,也就是信息加密等级。
(4) 客户端的浏览器根据双方同意的安全等级,建立会话秘钥,然后利用网站的公钥将会话秘钥加密,并传送给网站。
(5) web服务器利用自己的私钥解密出会话秘钥。
(6) web服务器利用会话秘钥加密与客户端之间的通信。
四、HTTPS的优点
https并非绝对安全,掌握证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但是https仍是当下最流行,一下为解决方案
1、可以认证用户和服务器,确保数据发送到正确的客户机和服务器。
2、加密传输,要比http安全,可以防止数据在传输过程中不被窃取、改变。
3、当下最流行,虽然不是绝对安全,但是也大幅增加了中间人的攻击成本。
4、Google在2014年8月调整搜索引擎算法,并称“同等网站,采用https加密的网站在搜索结果中排名会更高”
五、HTTPS的缺点
https虽有很大优势,但也存在不足之处
1、握手费时、会使页面加载时间延长50%,增加10%~20%的耗电。
2、不如http连接高效,会增加数据开销和功耗,甚至已有安全措施也会受到影响。
3、需要钱
4、需要绑定IP,并且不能在同一个IP上绑定多个域名,IPv4资源不可能职称这一消耗。
5、加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。
最关键的SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA的情况下,中间人攻击一样可行。
六、HTTP切换到HTTPS
1、将所有的页面链接由http切换到https。
BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,
这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是
从https的入口进入访问页面,页面即使https的。