HTTP 和 HTTPS的区别

2020-12-24  本文已影响0人  抽疯的稻草绳

1.Http是超文本传输协议,数据明文传输,所以会被抓包导致信息泄露,有安全风险问题!
2.Https 则是具有安全性的SSL加密传输协议。(http和TCP 之间加了一层TSL 或者 SSL的安全层)
3.HttpHttps使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
4.Http的连接很简单,是无状态的。
5.HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。
6.Https协议需要到CA付费申请证书,

HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP协议进行通信的HTTP的实现程序。
HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。这就大大减轻了服务器记忆负担,从而保持较快的响应速度。
HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接。

image

上图是Http的工作流程图,Https会在Tcp首部这一层前加上安全层(SSL/TSL)加解密Http报文
注:TLS是SSL的升级替代版,具体发展历史可以参考传输层安全性协议。

Https解决的问题

Https协议因为采用密文传输,要比Http协议安全。

1、信任主机的问题。

采用https的server 必须从CA申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户度才信任次主机。所以目前所有的银行系统网站,关键部分应用都是https的。客户通过信任该证书,从而信任了该主机。其实这样做效率很低,但是银行更侧重安全。这一点对我们没有任何意义,我们的server采用的证书不管自己issue 还是从公众的地方issue,客户端都是自己人,所以我们也就肯定信任该server。

2、通讯过程中的数据的泄密和被窜改。

(1)一般意义上的https,就是 server 有一个证书,

(2)少许对客户端有要求的情况下,会要求客户端也必须有一个证书。

HTTPS 在 HTTP 与 TCP 层之间加入了 SSL/TLS 协议,可以很好的解决了上述的风险:

  • 信息加密:交互信息无法被窃取,但你的号会因为「自身忘记」账号而没。
  • 校验机制:无法篡改通信内容,篡改了就不能正常显示,但百度「竞价排名」依然可以搜索垃圾广告。
  • 身份证书:证明淘宝是真的淘宝网,但你的钱还是会因为「剁手」而没。
上一篇 下一篇

猜你喜欢

热点阅读