美文网首页
HTTP和HTTPS

HTTP和HTTPS

作者: 南方小小姑娘 | 来源:发表于2018-05-28 11:22 被阅读0次

    http协议运行在TCP之上,明文传输,客户端和服务端都无法验证对方的身份;Https是身披SSL(Secure Socket Layer)外壳的http,运行于TCP之上,是添加了加密和认证机制的HTTP。

    一句话概括:HTTP+加密+认证+完整性保护=HTTPS

    超文本传输协议HTTP被用于在web浏览器客户端和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密。

    安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL层,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。加密需要一个密匙交换算法(DH密匙交换算法),双方通过交换后的密匙加解密。

    一:HTTPS协议的主要作用:

    1.建立一个信息安全通道,来保证数据传输的安全;2.确认网站的真实性。

    二:HTTPS和HTTP的主要区别:

    1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

    2、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是TCP/80,后者是443。

    3、http的连接很简单,是无状态的,信息是明文传输;https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上,可进行加密传输、身份认证的网络协议,比http协议安全。

    4、HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电。HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包,HTTPS除了TCP的三个包,还要加上ssl握手需要的9个包,一共是12个包。

    三:HTTPS的工作原理

    客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤:

    1、客户端使用https的URL访问web服务器,要求与web服务器建立SSL连接。

    2、web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

    3、客户端的浏览器与web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

    4、客户端的浏览器根据双方同意的安全等级,建立会话密匙,然后利用网站的公匙将会话密匙加密,并传送给网站。

    5、web服务器利用自己的私钥解密出会话密钥。

    6、web服务器利用会话密钥加密与客户端之间进行的通信。

    四:HTTP切换到HTTPS:

    将网站从http切换到https,需要将页面中所有的链接,例如js、css、图片等链接都由http改为https。

    在切换时可以做http和https的兼容:去掉页面链接中的http头部,这样可以匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。

    相关文章

      网友评论

          本文标题:HTTP和HTTPS

          本文链接:https://www.haomeiwen.com/subject/zmgwjftx.html