HTTP(HyperText Transfer Protocol即超文本传输协议)是负责在万维网中客户端与服务器传输的一个标准也是规则,所有在万维网中客户端与服务器传输数据时都必须遵守这个法则,就好比汽车一样,在高速公路上有很多汽车在行驶,但是如果没有规则的行驶的话很容易引发交通堵塞或者车祸,为了避免这种不必要的损失,所以就诞生了交通规则,所有的汽车都必须遵守交通规则才能上路行驶,而HTTP正是万维网中传输数据时的一个标准(规则)但是HTTP传输并不安全,虽然说HTTP协议下有四种请求方式但是最常见的还是GET和POST,GET明文因为传输数据是放到URL里的,POST暗文传输数据是放到报体内的,虽然说POST是暗文传输的数据在浏览器中看不到但是依旧可以通过抓包工具抓到。
在使用GET/POST请求方式发送数据时如果不对请求数据进行加密很容易被他人通过第三方程序窃取,所以说白了HTTP协议发送的数据是不安全的!
为了解决这一隐患网景公司推出了SSL(Secure Sockets Layer即安全套接层)加密协议用于加密HTTP所传输的数据,HTTPS就是HTTP+SSL/TCP(因为传输是通过TCP/IP协议来传输的所以加密数据也是对TCP传输数据进行加密) HTTPS全称(Hyper Text Transfer Protocol over Secure Socket Layer即安全套接字层上的超文本传输协议)
HTTPS的作用可以分为两种,一种是加密发送的数据,一种是根据网站证书来确认网站真实性,想要HTTPS认证证书需要到ca申请不过免费的证书很少,如果想要HTTPS认证证书的话需要花费一定的费用!
HTTP处于网络层的应用层而HTTPS不是属于应用层而是属于传输层,因为它主要对传输层的数据加密实际上应用层还是HTTPS,不然怎么能叫HTTP+SSL呢?
HTTPS优点 HTTPS是属于无连接暗文传输协议,其传输信息都受到SSL算法加密的不会被他人窃取就算抓包抓到了没有解密算法也破解不了抓到的数据包是什么意思,同时还可以验证该网站的真实性,是否为钓鱼网站,因为当客户端访问使用HTTPS协议网站时该网站会返回一个SSL证书里面包含了很多信息如证书的颁发机构,证书的过期时间,解析证书信息是由客户端的SSL握手协议完成的,一旦发现证书异常会弹出警告提示信息!而HTTP则是属于无连接的明文传输的容易被他人窃取!
缺点 使用HTTPS协议的网站响应速度会比使用HTTP协议的网站慢很多,因为要加密传输数据然后还要解析SSL证书,在加密的过程中就会耗费系统资源和硬件的开销(这个加密过程是根据SSL证书安全等级来进行不同级别的加密,SSL安全证书等级越高加密就越慢),而且如果多个客户端同时连接的情况下服务器的配置要求较高,不然响应速度会非常慢,HTTP则响应速度要比HTTPS要快很多,因为不需要解析证书也不需要加密传输数据节省系统资源的减少硬件耗电!
同时双方使用的默认端口号也不同HTTP默认端口号为80而HTTPS默认端口号为443!