http和https的理解

http和https的理解

基本概念

  • HTTP: 是互联网最为广泛的一种网络协议,是一个客户端和服务器请求和应答的标准(TCP), 用于从www服务器传输超文本到本地浏览器的传输协议,可以使浏览器更加高效,使网络协议减少
  • HTTPS:以安全为目标的HTTP通道,就是安全版本的http,在HTTP下增加了SSL层,SSL是依靠证书来验证服务器身份的
  • HTTPS协议的主要作用
    1. 建立一个信息安全信息通道,来保证数据传的安全
    2. 确认网站的真实性

主要区别

  • HTTP协议传输数据都是未加密的,也就是明文的,一次使用HTTP协议传输的信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS,简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,要比HTTP安全
  • HTTP和HTTPS的主要区别
    1. https协议需要到ca申请证书,一般是免费证书较少,需要一定的费用
    2. http是超文本传输协议,信息是明文传输的,https则是具有安全的SSL加密传输协议
    3. http和https使用的完全不同的链接方式,用的端口也不一样,http是80, https是443
    4. http的链接很简单,是无状态的,https协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议,比较安全

安全问题

  • 超文本传输协议HTTP协议被用于web浏览器和网站服务器之间传递信息,HTTP协议以明文的方式发送内容,不提供任何的数据加密,如果攻击者者截取了web浏览器和网站服务器之间的传输报文, 就可以直接读取其中的信息,因此,HTTP协议不适合传输一些敏感信息,如:信用卡号,密码 支付信息等。
  • 因此另一种安全套接字层超文本传输协议https, 为了数据安全传输,HTTPS在HTTP基础上增加了SSL协议,SSL依靠证书来验证服务器身份,并为浏览器和服务器之间的通信加密

网页显示问题 http在网页中不显示, https在网页中显示出安全协议

  • 访问的时候 chrome56把收集密码或信用卡数据的http页面标记不安全, chrome62带有输入的http页面和所有以无痕模式浏览的http页面标记为不安全, 苹果强制所有iosApp在2017/1/1使用https加密

 

http和https发展历史

超文本传输协议,是一个基于请求与响应,无状态的,应用层协议(OSI第一层), 常基于TCP/IP协议传输数据,互联网应用最为广泛的一种网络协议,所有的www文件都必须遵循这个标准,设计http协议的初衷是为了提供一种发布和接收html页面的方法。

版本产生时间内容
http/0.9 1991年 不涉及数据包传输,规定客户端和服务器之间通信格式,只能GET请求
HTTP/1.0 1996年 传输内容格式不限制,增加PUT、PATCH、HEAD、 OPTIONS、DELETE命令
HTTP/1.1 1997年 持久连接(长连接)、节约带宽、HOST域、管道机制、分块传输编码
HTTP/2.0 2015年 多路复用、服务器推送、头信息压缩、二进制协议等

 

多路服用传输

 

HTTP的工作原理

  • 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行或电子邮箱等安全级别高的都采用https协议

  • 客户端在使用https方式与web服务通信的步骤有:

    1. 客户使用https的URL访问web服务器,需求与web服务器建立SSL链接。
    2. web服务器收到客户端收到的请求后,会将网站的证书信息(证书中的公钥)传送一份给客户端
    3. 客户端的浏览器在web服务器开始协商SSL链接的安全等级,也就是信息加密的等级
    4. 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站
    5. web服务器利用自己的私钥解密出会话密钥
    6. web服务器利用会话密钥与客户端之间的通信

    https链接原理图

概括

  • HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了端与服务器端之间的通信安全问题。

https的优点

  • 使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
  • HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
  • HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
  • 谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

http的缺点

  • HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
  • HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
  • SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
  • SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗
posted @ 2019-09-09 18:07  KuiShen  阅读(392)  评论(0编辑  收藏  举报