HTTP(HyperText Transfer Protocol,超文本传输协议)被用于在Web浏览器和网站服务器之间传递信息,在TCP/IP中处于应用层。这里提一下TCP/IP的分层共分为四层:应用层、传输层、网络层、数据链路层; 分层的目的是:分层能够解耦,动态替换层内协议
各个层包含的内容:
应用层:向用户提供应用服务时的通讯活动(ftp,dns,http)
传输层:网络连接中两台计算机的数据传输(tcp、udp)
网络层:处理网络上流动的数据包,通过怎样的传输路径把数据包传送给对方(ip)
数据链路层:与硬件相关的网卡、设备驱动等等
然而HTTP也有以下明显缺点:
- 通信使用明文,内容可能被窃听
- 不验证通信方的身份,因此有可能遭遇伪装
- 无法证明报文的完整性,所以有可能遭到篡改
这样,HTTPS就登场了。HTTPS中的S表示SSL或者TLS,就是在原HTTP的基础上加上一层用于数据加密、解密、身份认证的安全层,即
- HTTP + 加密 + 认证 + 完整性保护 = HTTPS
加密相关的预备知识:对称加密和非对称加密。
- 对称加密 : 加密和解密数据使用同一个密钥。这种加密方式的特点是速度很快,常见对称加密的算法有 AES