為什么要使用KeepAlive?
終極的原因就是需要加快客戶端和服務端的訪問請求速度。KeepAlive就是瀏覽器和服務端之間保持長連接,這個連接是可以復用的。當客戶端發送一次請求,收到相應以后,第二次就不需要再重新建立連接(慢啟動的過程),就可以直接使用這次的連接來發送請求了。在HTTP1.0及各種加強版中,是默認關閉KeepAlive的,而在HTTP1.1中是默認打開的。
HTTP頭是Connection: Keep-Alive
要設置保持多少時間和連接使用:
Keep-alive: 300
KeepAlive是不是設置越長越好?
並不是這樣的。KeepAlive在增加訪問效率的同時,也會增加服務器的壓力。對於靜態文件是會提高其訪問性能,但是對於一些動態請求,如果在一次和下一次的請求過程中占用了服務器的資源,則會導致意想不到的結果。
在nginx中關閉keepalive使用keepalive_timeout 0;就可以進行關閉。記住如果沒有設置的話默認是開啟的。