谈HTTP的KeepAlive

简介:

为什么要使用KeepAlive?

 

终极的原因就是需要加快客户端和服务端的访问请求速度。KeepAlive就是浏览器和服务端之间保持长连接,这个连接是可以复用的。当客户端发送一次请求,收到相应以后,第二次就不需要再重新建立连接(慢启动的过程),就可以直接使用这次的连接来发送请求了。在HTTP1.0及各种加强版中,是默认关闭KeepAlive的,而在HTTP1.1中是默认打开的。

 

HTTP头是Connection: Keep-Alive

要设置保持多少时间和连接使用:

Keep-alive: 300

 

KeepAlive是不是设置越长越好?

 

并不是这样的。KeepAlive在增加访问效率的同时,也会增加服务器的压力。对于静态文件是会提高其访问性能,但是对于一些动态请求,如果在一次和下一次的请求过程中占用了服务器的资源,则会导致意想不到的结果。

 

在nginx中关闭keepalive使用keepalive_timeout 0;就可以进行关闭。记住如果没有设置的话默认是开启的。

目录
相关文章
|
Apache
关于Apache HTTP Serve你应该知道的!
关于Apache HTTP Serve你应该知道的!
358 0
|
10月前
|
网络协议
阿里一面:TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?
大致问题是,TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗? 这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西。 事实上,这两个完全是两样不同东西,实现的层面也不同:
|
网络协议 Java 应用服务中间件
JMeter Sampler-http请求之KeepAlive使用总结
JMeter Sampler-http请求之KeepAlive使用总结
485 0
keepalive
好好学习
48 0
keepalive
|
网络协议 应用服务中间件 nginx
tcp/http类nginx服务器keepalive_requests数据丢失问题
tcp/http基于请求/响应式交互的上层协议服务器或反向代理服务一般有一个keepalive_requests参数可以指定一条tcp连接上最多能发送的请求数量,超过keepalive_requests数量时server端会关闭tcp连接, 在使用这个指令做服务端时可能导致与其连接的client端数据丢失问题.
6323 0
|
应用服务中间件 nginx
|
Web App开发 应用服务中间件 nginx