- 关于http keep-alive 2022-04-10
- 好程序员分享http的keep-alive和tcp的keep-a
- 阿里一面:TCP 的 Keepalive 和 HTTP 的 Ke
- 阿里一面:TCP 的 Keepalive 和 HTTP 的 Ke
- 阿里一面:TCP 的 Keepalive 和 HTTP 的 Ke
- HTTP KEEP-ALIVE和TCP KEEPALIVE的区别
- TCP keepalive 和 http keep-alive
- HTTP keepalive与TCP keepalive的区别
- HTTP修炼手册-HTTP 和 TCP 的 KEEP ALIVE
- Http、TCP/IP、socket
HTTP Keep-Alive
在HTTP 1.0以前,每个http请求都要求打开一个TCP socket连接,并且使用一次之后就断开这个TCP连接,这会导致频繁地创建和销毁TCP。HTTP 1.1通过使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。
TCP KEEPALIVE
这是TCP协议栈为了检测连接状况的保活机制,当TCP空闲一定时间后会发送心跳包给对方,
如果对端回复ACK后,就认为对端是存活的,重置定时器;
如果对端回复RST应答(对端崩溃或者其他原因,导致的复位),那就关闭该连接;
如果对端无任何回应,那就会出发超时重传,直到达到重传的次数,如果对端依然没有回复,那么就关闭该连接。
HTTP位于网络协议栈的应用层,而TCP位于网络协议栈的传输层,两者的KEEP-ALIVE虽然名称相同,但是作用不同。HTTP是为了重用TCP,避免每次请求,都重复创建TCP;而TCP的KEEP-ALIVE是一种保活机制,检测对端是否依然存活。
网友评论