前端面试
HTTP和HTTPS的区别
- 安全性:HTTP明文传输,数据都是未加密的,安全性差;HTTPS(SSL+HTTP)数据传输过程是加密的,安全性好
- 使用HTTPS协议需要到CA(数字证书认证机构)申请证书
- 响应速度:HTTP页面响应速度比HTTPS响应速度快,主要是因为HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包,而HTTPS除了TCP三次握手的三个包,还需要加上SSL握手需要的9个包,一共12个包
- 连接方式:HTTP和HTTPS使用安全不同的连接方式,用的端口也不一样,前者是80,后者是443
- 服务器资源:HTTPS其实就是构建在SSL/TLS之上的HTTP协议,所以HTTPS比HTTP更耗费服务器资源
TCP三次握手
在TCP/IP协议中,TCP协议通过三次握手建立一个可靠的连接
- 第一次握手:客户端尝试连接服务器,向服务器发送SYN包(同步序列编号 Synchronize Sequence Numbers ),客户端进入SYN_SEND状态,等待服务器确认
- 第二次握手:服务器接收到客户端SYN包并确认,同时向客户端发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态
- 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,发送完毕后,客户端和服务器进入ESTABLISHED状态,完成三次握手