HTTP 问题
问题
1. 说说 HTTP 与 HTTPS 有什么区别?
2. 说说三次握手与四次挥手,为什么一个是三次、一个四次?
这是因为服务端的 LISTEN
状态下的 SOCKET
当收到 SYN
报文的建连请求后,它可以把 ACK
和 SYN
( ACK
起应答作用,而 SYN
起同步作用)放在一个报文里来发送。
当关闭连接时,当收到对方的 FIN
报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可能未必会马上会关闭 SOCKET
,也即你可能还需要发送一些数据给对方之后,再发送 FIN
报文给对方来表示你同意现在可以关闭连接了,所以它这里的 ACK
报文和 FIN
报文多数情况下都是分开发送的。
3. HTTP/2 有哪些改进?
- 头部压缩
- 多路复用
- 服务器推送