HTTP和HTTPS有什么区别?

Http(HyperText Transfer Protocol):超文本传输协议
Https(HyperText Transfer Protocol Secure):安全的超文本传输协议
从名字就可以看出来:两者的区别在于Secure 换句话说 Https是安全的http。Http和https具体的差别在于以下哪个方面:
1Http是明文传输,数据未经过加密,客户端和服务器之间无法进行身份认证,安全性较差,Https数据传输过程是加密的,客户端与服务器之间可以进行身份认证,安全性好。
2Http不需要证书 Https需要证书。
3Http直接面向TCP ,使用TCP三次握手建立连接,Https直接面向TLS,通过TLS进行安全连接 然后TLS面向TCP ,这使得HTTP页面的响应速度比HTTPs快。
4同样的原因,HTTPS比HTTP更加耗费资源。

上文提到的TLS。这是HTTPS提升安全性的关键。小伙伴们可能听得更多的是SSL。二者的关系如下:
SSL(Secure Socket Layer)安全套接层。
TLS(Transport Layer Security)传输层安全性协议,是基于SSL3.0设计的协议。

TLS实现安全性的机制涉及到了密码学的一些基础知识,它采用了RSA握手和密钥交换来进行实现。
具体而言握手阶段涉及四次通信,握手阶段的所有通信都是明文的。

客户端发出请求(ClientHello)
客户端先向服务器发出ClientHello请求,主要向服务端提供以下信息:支持的加密通信协议版本;随机数A(客户端生成);支持的加密方法;支持的压缩方法

服务端回应(SeverHello)
服务端向客户端发出SeverHello回应,包含以下信息:确认使用的加密通信协议版本;随机数B(服务端生成);确认使用的加密方法;服务端证书

客户端回应,客户端验证服务端证书。如果验证未通过,则会向访问者发出警告。否则,客户端从证书中取出服务端的公钥。然后向服务端发送以下信息:经过服务端公钥加密的随机数C;编码改变通知;客户端握手结束通知(通信参数的hash值,可供服务端校验)

服务器的最后回应,服务器生成会话密钥。然后,向客户端发送以下信息:编码改变通知;服务器握手结束通知(通信参数的hash值,可供客户端校验)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值