http和https的异同

1、什么是http?(默认使用80端口)

超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。它不关心数据传输的细节,是一个基于请求与响应模式的、无状态的、应用层的协议。只有遵循统一的HTTP 请求格式,服务器才能正确解析不同客户端发的请求(所有www文件必须遵循这个标准)。简单来说,是一种发布和接收HTML页面的方法。
用的比较多的是1.1版本,但现在2.0逐渐覆盖市场。

2、什么是https?(默认使用443端口)

HTTPS是一种通过计算机网络进行安全通讯的传输协议,主要由两部分组成:HTTP + SSL / TLS,由HTTP通讯、SSL / TLS建立全信道,加密数据包。直观讲,其实就是HTTP的安全版本。其使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整。
(PS:TLS是传输层加密协议,前身是SSL协议。)

3、http与https的比较

http特点
(1)无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
(2)缺点——无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
(3)基于请求和响应:基本的特性,由客户端发起请求,服务端响应
(4)简单快速、灵活
(5)缺点——通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性
针对无状态的一些解决策略:
【场景:逛电商商场用户需要使用的时间比较长,需要对用户一段时间的HTTP通信状态进行保存,比如执行一次登陆操作,在30分钟内所有的请求都不需要再次登陆】
①通过Cookie/Session技术。
②HTTP/1.1持久连接(HTTP keep-alive)方法,只要任意一端没有明确提出断开连接,则保持TCP连接状态,在请求首部字段中的Connection: keep-alive即为表明使用了持久连接。

https特点
(1)内容加密:采用混合加密技术(对称加密+非对称加密),中间者无法直接查看明文内容
主要用到了以DES为代表的对称加密算法和以RSA为代表的非对称加密算法。对称加密算法一般很难破解,但不好保管,安全性不是很高。因为客户端和服务端拿到的密钥一样,如果一直用一个密钥便会存在安全隐患,且不可能每次都改密钥。因此https选择混合加密方式。交换密钥时采用非对称,建立通信交换报文时采用对称加密。
非对称加密算法:与对称加密不同,非对称加密算法加密解密需要两个不同的密钥:公开密钥(PK)和私有密钥(SK)。如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据加密,只有用对应发公钥才能解密。RSA、ECC(移动设备用),Diffie-Hellman、ELGamal、DSA(数字签名用)
Hash算法(摘要算法):特别之处在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。常见的Hash算法有MD2、MD4、HAVAL、SHA。

(2)验证身份:通过证书认证客户端访问的是自己的服务器
就是公钥生成可信赖的证书。因为非对称加密存在一个问题—没法验证拿到的公钥就是服务器公开的公钥。
①相关人去CA机构进行公钥申请;
②CA机构会验证申请者的信息真实性、合法性;
③通过审核后,CA机构会做数字签名给其证书。证书里面包含申请者的信息、数字签名后的公钥、有效时间和签名;
④客户端https建立连接的时候像服务端要证书;
⑤读取证书后,那公钥进行解密校验;
⑥客户端会内置CA的信息,如果不存在或者信息不对,说明CA非法。

(3)保护数据完整性:防止传输的内容被中间人冒充或者篡改
(4)缺点—HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响
(5)缺点—HTTPS协议握手阶段比较费时,会使页面的加载时间延长

4、HTTP和HTTPS区别
(1)https协议需要到CA申请证书或自制证书。
CA证书是什么?
CA(Certificate Authority)是负责管理和签发证书的第三方权威机构,是所有行业和公众都信任的、认可的。
CA证书,就是CA颁发的证书,可用于验证网站是否可信(针对HTTPS)、验证某文件是否可信(是否被篡改)等,也可以用一个证书来证明另一个证书是真实可信,最顶级的证书称为根证书。除了根证书(自己证明自己是可靠),其它证书都要依靠上一级的证书,来证明自己。

(2)http的信息是明文传输,https则是具有安全性的ssl加密。
(3)http是直接与TCP进行数据传输,而https是经过一层SSL(OSL表示层),用的端口也不一样。
(4)http连接很简单,是无状态的;https协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值