HTTP和HTTPS协议的区别
一、HTTP协议
1、什么是HTTP
-
"http" ,又被称为超文本传输协议,是互联网上应用最为广泛的一种网络协议。 -
是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。 -
是用于从万维网服务器传输超文本到本地浏览器的传送协会。 -
基于TCP的应用层协议,它不关心数据传输的细节,HTTP是一个基于 请求 与 响应模式的、无状态的、应用层协议,只有遵循统一的HTTP请求格式,服务器才能正确解析客户端发的请求,同样地,服务器遵循统一的响应格式,服务器才得以正确解析不同网站发过来的响应
2、HTTP请求内容
HTTP 请求由请求行、请求头、空行、请求体组成
- **请求行:**请求方法 + URL ++ 协议版本
3、HTTP响应内容
HTTP响应格式与请求的格式相似,也是由响应行、响应头、空行、响应体组成
- **响应行:**HTTP 版本号 + 响应状态码 + 状态说明
- **响应头:**响应头与请求头对应,是服务器对该响应的一些附加说明
- **响应体:**他才是真正的响应数据,这些数据其实就是网页的HTML源代码
4、HTTP的缺点
缺少安全性,http协议信息传输是通过明文的方式传输,不做任何加密,容易被中间人恶意篡改
二、HTTPS协议
1、什么是HTTPS协议
- HTTPS 的全称是(Hypertext Transfer Protocol Secure),它是用来在计算机网络上的两个端系统之间进行 安全的交换信息 ,它相当于在HTTP的基础上加了一个Secure安全的字眼
- HTTPS是在一个计算机世界里专门在两点之间安全的传输文字、图片、音频、视频等超文本数据的约定和规范
- HTTPS是HTTP协议的一种扩展,它本身并不保证传输的安全性,在HTTPS中,使用 传输层安全性(TLS)或 安全套接字层(SSL)对通信协议进行加密
- HTTP + SSL(TLS) = HTTPS
2、HTTPS做了什么
- 加密,HTTPS通过对数据加密来使其免受窃听者对数据的监听
- 数据一致性,数据在传输的过程中不会被窃听者锁修改,用户发送的数据会完整的传输到服务端
- 身份认证,是指确认对方的真是身份
除了协议名和默认端口号外,HTTPS协议在语法,语义上和HTTP一样,关键在于这个s也就是SSL/TLS
三、HTTPS解决了HTTP的什么问题
由于HTTP天生明文传输的特性,在HTTP的传输过程中,任何人都可能从中截取、修改或者伪造请求发送,所以可以认为HTTP是不安全的;
四、什么是SSL/TLS
TLS 是 SSL 的后续版本,他们是用于在互联网两台计算机之间用于身份验证和加密的一种协议
SSL 是一个独立的协议,不只有 HTTP 可以使用,其他应用层协议也可以使用,比如 SMTP(电子邮件协议)、Telnet(远程登录协议) 等都可以使用。
TLS 用于两个通信应用程序之间提供保密性和数据完整性。TLS 由记录协议、握手协议、警告协议、变更密码规范协议、扩展协议等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术
|