Http
超文本传输协议
用于在Web浏览器和网站服务器
之间传输数据,以明文发送,不提供数据加密
传输的数据是完整的,有意义的数据,能被上层应用识别
支持客户/服务器模式
简单快速
:客户向服务器发送请求时,只传送请求方法和路径.通信速度快灵活
:允许传输任何类型的数据对象无连接
:限制每次连接只处理一个请求,服务器处理完请求,并收到客户应答后,即断开连接.节省传输时间无状态
:无法根据之前的状态进行本次请求处理
Https
为了解决Http不安全的特性
让Http运行在安全点SSL/TLS
协议上,HTTPS = HTTP + SSL/TLS
,通过 SSL
证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密
SSL
协议位于TCP/IP
协议与各种应用层协议之间,浏览器和服务器在使用 SSL
建立连接时需要选择一组恰当的加密算法来实现安全通信,为数据通讯提供安全支持
- 首先客户端通过URL访问服务器建立SSL连接
- 服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端
- 客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级
- 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站
- 服务器利用自己的私钥解密出会话密钥
- 服务器利用会话密钥加密与客户端之间的通信
区别
- HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理,相对更安全
- HTTP 和 HTTPS 使用连接方式不同,默认端口也不一样,HTTP是80,HTTPS是443
- HTTPS 由于需要设计加密以及多次握手,性能方面不如 HTTP
- HTTPS需要SSL,SSL 证书需要钱,功能越强大的证书费用越高