1. 说一下http和https
https的SSL加密是在传输层实现的。
-
http和https的基本概念
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。
HTTPS协议是Hyper Text Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包,HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
-
http和https的区别
http传输的数据都是未加密的,也就是明文的,网景公司设置了SSL协议来对http协议传输的数据进行加密处理,简单来说https协议是由http和ssl协议构建的可进行加密传输和身份认证的网络协议,https协议比http协议的安全性更高。
主要的区别如下:
- HTTPS协议需要ca证书,费用较高。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- HTTP的URL是由
http://
起始与默认使用端口80,而HTTPS的URL则是由https://
起始与默认使用端口443。 - http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,比http协议安全
-
https协议的工作原理
客户端在使用HTTPS方式与WEB服务器通信时有以下几个步骤:
- 客户端使用https url访问服务器,则要求web服务器建立ssl链接。
- web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。
- 客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级。
- 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
- web服务器通过自己的私钥解密出会话密钥。
- web服务器通过会话密钥加密与客户端之间的通信。
-
https协议的优点
- 使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
- HTTPS协议是由SSL+HTTP协议构建的可进行加密运输,身份认证的网络协议,要比HTTP协议安全,可防止数据在传输过程中不被窃取,改变 ,确保了数据的完整性
- HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击成本;
- 谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名就会更高”。
-
https协议的缺点
- https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。
- https缓存不如http高效,会增加数据开销
- SSL证书也需要钱,功能越强大的证书费用越高
- SSL证书需要绑定IP,不能在同一个IP上绑定多个域名,IPV4资源支持不了这种消耗。