關於設置http響應頭connection的作用

原文:http://blog.csdn.net/t_huanghai/article/details/4736772

有的網站會在服務器運行一段時間後down掉,有很多原因可能造成這種現象:比如tomcat堆和非堆內存設置不足,程序沒能釋放內存空間造成內存溢出,或者某些進程一直運行沒能釋放,造成cup資源大量消耗。但除了程序本身的原因,還有可能是客服端訪問造成(當然這個客戶端也包含如蜘蛛軟件等搜索引擎),如果服務器和客戶端建立的是長鏈接(可以用"netstat -a"命令查看網絡訪問信息),這就需要對http響應頭的connection做一定的設置。

 

      在http1.1中request和reponse header中都有可能出現一個connection頭字段,此header的含義是當client和server通信時對於長鏈接如何進行處理。在http1.1中,client和server都是默認對方支持長鏈接的, 如果client使用http1.1協議,但又不希望使用長鏈接,則需要在header中指明connection的值爲close;如果server方也不想支持長鏈接,則在response中也需要明確說明connection的值爲close。

 

      不論request還是response的header中包含了值爲close的connection,都表明當前正在使用的tcp鏈接在請求處理完畢後會被斷掉。以後client再進行新的請求時就必須創建新的tcp鏈接了。

 

      HTTP Connection的close設置允許客戶端或服務器中任何一方關閉底層的連接雙方都會要求在處理請求後關閉它們的TCP連接。

 

      如何在程序中設置:可以在過濾器中加入:response.setHeader("connection", "close");

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章