一、HTTPS
1、https为什么会出现?
HTTP
是明文传输(会被窃听),不校验数据的完整性(会被篡改),而且也不校验双方的身份(会被第三方拦截)。
为了解决窃听、篡改、拦截这三大问题,因此引入了HTTPS
, HTTPS
相当于是对HTTP
的扩展, HTTPS = HTTP + SSL/TLS
,他们的协议栈如下所示:
2、HTTP和HTTPS分别是如何建立连接的?
HTTP 通过 TCP 的三次握手建立连接
TCP三次握手
HTTPS 在 TCP的三次握手之上再加入 SSL 四次握手建立连接
证书生成过程(HTTPS使用)
SSL四次握手
HTTPS建立连接完整过程
3、HTTP 是如何断开连接的?
TCP四次挥手
二、WebSocket
webSocket 连接过程
三、Socket
Socket
是TCP/IP
协议栈抽象出来的一个接口,通过Socket
才可以实现对TCP/IP
的操作,正如上面提到的TCP三次握手,实际上操作的就是Socket
,通过下面的一张图应该更好理解一点:
TCP连接的大概过程
通过socket完成TCP连接的详细过程
参考资料: