在面试的过程中经常会被问到http和https相关的问题,包括https连接建立过程,所以就把相关的内容整理下放在一起。
http与https的异同:
通俗的说http与https都是出于第7层(应用层)协议;
"HTTP+加密+认证+完整性保护=HTTPS";
http默认端口为80,https默认端口为443;
https相对http更安全;
https比http慢,《图解http》书中原文如下:
“HTTPS比HTTP要慢2到100倍:SSL的慢分两种。一种是指通信慢。另一种是指由于大量消耗CPU及内存等资源,导致处理速度变慢。
和使用HTTP相比,网络负载可能会变慢2到100倍。除去和TCP连接、发送HTTP请求·响应以外,还必须进行SSL通信,因此整体上处理通信量不可避免会增加。”
另一点是SSL必须进行加密处理。在服务器和客户端都需要进行加密和解密的运算处理。因此从结果上讲,比起HTTP会更多地消耗服务器和客户端的硬件资源,导致负载增强。”。
https的连接建立过程,及秘钥关系如下图,把每一步都描述的很详细:
用Wireshark抓包看连接建立过程:
后续补充……
参考书:
图解HTTP
图解密码技术
图解TCP/IP
Wireshark网络分析就这么简单
wireshark网络分析艺术
工具:
Wireshark