目录
一、HTTP
HTTP是超文本传输协议,用于在web浏览器和网站服务器之间传递消息,以明文方式传递信息,不提供任何方式的数据加密
传输的数据并不是二进制包,而是完整的,有意义的数据,可被上层应用识别的超文本(HTML文件,图片等)
特点:
- 支持客户/服务端模式
- 简单快速:客户向服务器请求服务,只需要传送请求方法和路径,正因为这个特点,HTTP服务器程序规模小,通信速度快
- 灵活:允许传输任何类型的数据对象,正在传输的数据用Conent-Type加以标记
- 无连接:限制每次连接只处理一个请求。服务器处理完顾客的请求并收到应答后就断开连接,以此来减少传输时间
- 无状态:无法根据之前的状态进行本次的请求处理
二、HTTPS
HTTPS通俗来说就是HTTP的加密版
HTTPS = HTTP + SSL/TLS 通过SSL整数来验证服务器的身份并为浏览器和服务器之间进行加密
SSL协议位于TCP/IP协议与各种应用层协议中间
流程图如下:
- 客户端通过URL访问服务器建立SSL连接
- 服务端收到请求,将网站支持的证书信息(包含公钥)传送到客户端
- 客户端服务器开始协商SSL连接的安全等级(信息的加密等级)
- 客户端浏览器根据协商同意的安全等级建立会话密钥,然后利用网站的公钥进行加密,并传送给网站
- 服务器利用自己的私钥解密出会话密钥
- 服务器利用会话密钥加密与客户端的通信
三、区别
HTTP是明文传输,HTTPS是利用SSL/TLS协议进行加密
HTTP和HTTPS的连接方式不同,HTTP默认端口是80,HTTPS是443
HTTPS需要设计加密,多次握手,性能方面不如HTTP
HTTPS需要的SSL证书需要钱,功能越强大要的钱越多