背景:我試圖讓ApacheBench在我的自定義服務器上工作。我試着發行ab -n 1 -c 1 http://localhost:1337/index.html
,我嗅探連接(與wireshark)我看到wayyy不止一個請求被髮送。HTTP 1.0服務器何時關閉連接?
實施例要求:
GET /index.html HTTP/1.0 Host: localhost:1337 User-Agent: ApacheBench/2.3 Accept: */* (repeats more times than I care to count)
我假定爲RFC 1945說「除了實驗應用中,目前的做法要求連接之前由每個請求和發送響應之後,由服務器關閉客戶端來建立。 「當我請求一個頁面時,這與ApacheBench一起工作。但是,如果我將請求的數量增加到10,則會收到「由對等方重置連接」。考慮到我關閉了連接,這是有道理的。
但是,我嘗試了與Google相同的過程,並且它在這兩種情況下均正常工作。那麼,我該如何知道何時關閉HTTP 1.0的連接呢?
但正如你所看到的,客戶端沒有發送Keep-Alive標題,所以發生了什麼? – chacham15
如果沒有保持活動狀態(必須在HTTP 1.0中明確請求),則客戶端**必須在收到響應後關閉連接,即使服務器在發送響應後未關閉連接。 –
@RemyLebeau做Chrome的旋轉_loading circle_意味着即使在收到服務器的響應之後,客戶端服務器之間的連接仍然是開放的? – gkiko