程序员

一文带你了解http和https的区别和联系

2020-07-13  本文已影响0人  技术猿小黄

http和https最主要的差别就是http是明文传输数据,而https传输的数据经过加密。


什么是http

HTTP,英文全称 Hyper Text Transfer Protocol,中文全称“超文本传输协议”,按照OSI参考模型,它属于第七层应用层的协议。HTTP的作用是提供了一组规则和标准,用于控制如何在万维网上传输任何信息,提供了Web浏览器和服务器进行通信的标准规则。目前主要使用的是HTTP/1.0 和 HTTP/1.1 两个版本,主流使用的是 HTTP/1.1。

http使用场景

当在浏览器输入网址按回车之后,默认自动会在网址前面加上http://。它表示浏览器与web服务器通过http协议进行连接和传输数据。当浏览器获得http响应之后,会进行渲染,变成我们可以看到的网页。

http工作原理

http是基于C/S结构的协议,浏览器在向服务器发送请求之前,首先需要建立TCP连接,然后才能发送HTTP请求报文,并接收HTTP响应报文。

http请求响应过程大概可以分为四步:

(1)客户端请求服务器建立连接;

(2)连接建立后,客户端向服务器发送http请求;

(3)服务器接收到http请求后,并根据请求做相应的响应;

(4)完成请求之后,客户端与服务端断开连接。

什么是https

https,英文全称 Hyper Text Transfer Protocol over SecureSocket Layer,中文全称 超文本传输安全协议。是在http的基础上加上TLS/SSL协议,通过加密传输和身份验证保证传输的安全性。https最初是基于ssl,后来ssl协议升级并命名为tls协议,目前tls协议最新版本是tls1.3,主流使用的是tls1.2版本。

有了http了,为什么需要https?

http能完成网站浏览服务,但是也有很明显的安全缺陷,主要是明文传输数据和缺乏信息完整性校验,通俗理解就是,双方传输的数据可以被第三方窃取,知道你传输的是什么内容,甚至还可以对数据进行修改,双方却无法察觉到。特别是在网站登录和网络支付的时候,使用http更致命。

http的风险总结为:

(1)窃听风险,第三方可以获取通信内容

(2)篡改风险,第三方可以修改通信内容

(3)冒充风险,第三方可以冒充他人参与通信

https的作用

https就是为了解决http的风险而设计的

(1)数据加密,通信的数据都是加密的,无法被窃听

(2)完整性校验,加密的通信数据,经过消息完整性校验MAC,防止被篡改

(3)身份验证,TLS握手过程使用的证书是经过权威CA签名的,进行身份验证,防止身份假冒

https工作原理

http和https的区别

安全性不一样。http没有用于数据加密和数据完整性校验的安全机制,而https通过数字证书来保障双方的通信

监听端口不一样。http监听80端口,而https监听443端口

传输内容不一样。http以纯文本格式明文传输,而https以密文格式传输

协议头不一样。http的URL以"http://"开头,而https的URL以"https://"开头


总结

综上所述,http和https最主要的差别就是http是明文传输数据,而https传输的数据经过加密。

文|技术猿小黄

​图|来源于网络

创作不易,看完点个赞关注一下再走呗。

本文由技术猿小黄原创,欢迎关注,带你一起长知识!

上一篇下一篇

猜你喜欢

热点阅读