2011-10-11 134 views
0

創建彗星連接(掛起)我沒有在HTTP頭中指定內容長度。這適用於我的系統,但會從另一臺機構局域網請求,它爲請求提供502錯誤網關。HTTP頭獲取沒有內容的響應長度給502壞的網關

如果我提到內容長度,我得到的響應,但連接關閉,我不想要。有什麼可以替代這個?

回答

0

按照HTTP/1.1規範進行連接持久性。在回覆中返回HTTP/1.1。如果查詢是HTTP/1.1,則默認保持連接處於打開狀態。如果查詢不是,則默認關閉它。如果您收到Connection: close標題,請在發送響應後關閉連接。如果您收到Connection: keep-alive標題,則即使該連接不是協議默認設置,也應保持連接處於打開狀態。

如果您不想關注HTTP/1.1,那麼您可能仍然可以獲得連接持久性。如果您通過上述規則成功建立持久性,請始終包含一個Connection: Keep-Alive標頭。即使客戶端請求了持久連接,也請發送Connection: Close標頭。

基本上,請按照HTTP specification。如果你知道內容的長度,你應該總是發送一個Content-Length標題。如果客戶端可以支持,則使用持久性協商規則建立持久連接。

+0

感謝您的回覆。我試着保持連接:保持活着的頭,但如果內容長度沒有指定,它也會拋出502錯誤的網關。學院之間有代理和防火牆。但是,在連接關閉之後,我無法提供內容長度。請任何解決方法? – prat0318

+0

你在回覆中發送'HTTP/1.0'還是'HTTP/1.1'?另外,它是'Connection:Keep-Alive'。 –

+0

我發回客戶端的HTTP版本,我應該保持它始終1.1?是的,我保持它保持活力。我知道有一個代理服務器不允許懸掛連接。即使在標題中提及內容長度,什麼是創建持久連接的方法。 – prat0318