我做了一個簡單的Ajax ...xmlhttprequest在請求處理後是否保持連接打開?
的請求和響應頭都包含連接:Keep-Alive
我瞪着了一下,發現客戶端從而保持與服務器的持久連接 。這支持流水線,客戶端可以發送多個請求,而無需等待每個響應。
所以我有一些問題:
- 哪裏了XMLHttpRequest實際打開到服務器的連接?
- 是否創建許多xmlhttprequest對象打開自己的連接或使用流水線將其發送到同一連接...?
- 我想要處理同時請求..我可以排隊請求(存儲參數)..並在onreadystate提供函數來處理它..即調用遞歸請求的函數?或者它根本不是一個好主意?
- 什麼時候連接關閉..在什麼階段?
其他信息: 我不想使用jquery或任何其他librarie爲ajax.You雖然可以提出。我可以檢查它們是如何工作的。 我使用javascrip和php(codeigniter框架)。 我希望能夠處理多個請求(2)..和隊列請求,當達到限制時,會產生 。
感謝提前:)
你是否明白http請求是通過使用'tcp connection'完成的? http使用tcp就像傳真使用電話線一樣。'tcp connection'是'Connection:Keep-Alive'中引用的內容。您並不知道瀏覽器何時或在哪裏決定創建tcp連接,但通常瀏覽器會創建多個同時到服務器的tcp連接,如果這會有益的話。對html,圖像,CSS,ajax請求等的請求......都經過相同的線路(儘管瀏覽器通常會打開多行)。 – goat
感謝您的回覆。 Yups我知道它是通過TCP連接發生的。感謝您澄清關於Connection:Keep-Alive。我已經讀過,標準是2個同時連接,儘管一些瀏覽器支持更多。 –