文章目录
1.Https是什么
前一篇学习了http协议,这一篇学习Https;
https是基于http协议的一个扩展,与SSL(安全套接层)组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议),https盛行的原因是什么呢?当然是因为安全原因啦,http是不加密的,HTTP缺点:
- 1.通信使用明文不对数据进行加密(内容容易被窃听);
- 2.不验证通信方身份(容易伪装);
- 3.无法确定报文完整性(内容易被篡改);
HTTPS 并非是应用层的一种新协议。只是HTTP通信接口部分用 SSL(SecureSocket Layer)和 TLS(Transport Layer Security)协议代替而已;
通常,HTTP 直接和 TCP 通信。当使用 SSL 时,则演变成先和 SSL 通信,再由 SSL和 TCP 通信了。简言之,所谓 HTTPS,其实就是身披 SSL 协议这层外壳的HTTP;
2.Http/Https处于ISO的应用层
ISO7层模型,网络由下往上分为:
物理层-- 网线,集线器hub;
数据链路层-- 交换机,mac地址;
网络层-- 路由器,IP协议;
传输层-- TCP/UDP协议;
会话层-- …
表示层-- …
应用层-- FTP、Telnet、SMTP、RIP、NFS、DNS。 HTTP(s)协议;
这里主要关注应用层和传输层;http/https,TCP/UDP
如你想了解更多,请参考:TCP/IP每层及OSI七层对应协议;
PPS:
本文重点学习https,http相关知识作为附录补充在文末;
3.SSL/TLS是什么?
SSL就是Https中的s,学习https的关键就在于SSL的内容,而ssl的内容又包含一系列的加密方法的内容,所以实际上学习的重点其实是SSL下面的加密方法;
3.1.SSL
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密