一、HTTP
HTTP超文本运输协议,是实现网络通信的一种规范,是一个客户端和服务端请求和应答的标准(TCP),使浏览器更加高效,网络传输减少。HTTP协议是以明文方式发送信息,如果黑客截取了传输报文,便可直接获取其中的信息。
特点如下:
- 支持客户/服务器模式
- 简单快捷:客户想服务器发送请求时,只需传送请求方法和路径。HTTP协议简单,使得HTTP服务器的程序规模小,通信速度快
- 灵活:HTTP运行传输任意类型的数据对象。正在传输的类型由Content-Type来标记
- 无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,收到客户应答后,便断开连接。可以节省传输时间
- 无状态:HTTP协议无法根据之前的状态进行本次的请求处理
二、HTTPS
为解决HTTP协议数据传输不安全这一缺陷, HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS协议依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS协议的主要作用为:建立一个信息安全通道,来保证数据传输的安全;确认数据传输的完整性;身份安全性校验。
- 客户端通过URL,发送http请求访问服务器建立SSL连接
- 服务端收到客户端的请求后,将网站支持的数字证书(包含公钥)发送给客户端
- 客户端的浏览器开始协商SSL连接的安全等级,也就是信息加密的等级
- 客户端的浏览器根据双方同意的安全等级,建立绘画密钥,然后利用公钥对绘画加密,并传送给服务器
- 服务器利用自己的私钥解密会话密钥
- 服务器利用会话密钥加密与客户端之间的通信
三、HTTP和HTTPS区别
1、HTTPS协议需要用到CA申请证书,一般免费证书较少,所以需要花费一定费用
2、HTTPS是HTTP协议的安全版本,HTTP协议的数据传输都是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理,相对更安全
3、HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,HTTP是80端口,HTTPS是443端口
4、HTTP的连接是简单无状态的。HTTPS协议是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全