开发者

IIS HTTP Keep-Alives

开发者 https://www.devze.com 2023-04-06 06:36 出处:网络
I am reading that Keep-Alives is meant for performance - so that no connections need to be recreated but just reuse the ex开发者_Go百科isting ones. What if there is a traffic spike, will new connectio

I am reading that Keep-Alives is meant for performance - so that no connections need to be recreated but just reuse the ex开发者_Go百科isting ones. What if there is a traffic spike, will new connections be created?

Additionally, if I don't turn on Keep-Alive and in a high traffic environment, will it eventually running out of connections/socket port on client side? because a new connection has to be created for each http/web request.


HTTP is a stateless protocol.
In HTTP 1.0 each request meant opening a new TCP connection.
That caused performance issues (e.g. have to re-do the 3-way handshake for each GET or POST) so the Keep-Alive Header was added to maintain the connection across requests and in HTTP1.1 the default is persistent connection.
This means that the connection is reused across requests.
I am not really familiar with IIS but if there is a configuration to close the connection after each HTTP response, it will have impact on the performance.
Concerning the running out of sockets/ports on the client side, that could occur if the client fires a huge amount of requests and a new TCP connection must be opened per HTTP request.
After a while the ports will be depleted

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号