2010-07-17 196 views
0

在什麼情況下需要關閉HTTP連接?在什麼情況下需要關閉HTTP連接?

+2

HTTP是無狀態的;沒有像HTTP連接那樣的東西。您只能關閉相應的TCP連接。 – Gumbo 2010-07-17 18:07:26

+0

即使我不知道術語「HTTP連接」,它出現在http:// stackoverflow.com/questions/3270414/close-connection-in-php-but-keep-executed-script中 – Starx 2010-07-17 18:28:26

回答

10

HTTP不是具有「連接」的協議類型;這就是他們所說的「無狀態」,意味着每個請求都與其他請求分開。這就是爲什麼我們有類似會話cookie的原因;人們不得不通過一種方式來允許在請求之間傳遞信息。

現在,即使它們是分開的,HTTP 1.1允許客戶端通過相同的TCP/IP連接發出多個請求(雖然它是與HTTP服務器的連接,但在TCP中的整個其他級別/ IP堆棧)。請求仍然是分開的,但您不必打開新的網絡連接。這樣可以提高效率,因爲打開網絡連接可能很昂貴。

如果您想利用此優勢,請查看請求和響應中的標題。如果請求使用的HTTP版本低於1.1,或者有一個標題爲Connection: close,則在處理當前請求後,連接將消失。否則,一旦它被清除(通常通過讀取先前請求中的所有數據),它可以被重用。

相關問題