簡體   English   中英

Http請求和TCP連接

[英]Http requests and TCP connections

到目前為止,我的理解是,當有人嘗試訪問網頁時,會發生以下情況:

  1. HTTP請求形成
  2. 新插座已打開
  3. HTTP請求已發送

如果一切正常,則Web瀏覽器將接受HTTP響應,並根據接收到的HTML構建DOM樹。 如果缺少任何資源,則需要分別為每個請求新的HTTP請求。

這些HTTP請求中的每個請求都需要打開另一個套接字(與服務器建立新的虛擬連接)。

:效率如何? 我知道這些資源可能位於另一台主機上(確實需要新的TCP連接),但是如果它們都在同一主機上,那么在單個TCP連接內傳輸所有數據的效率將更高。

這些HTTP請求中的每個請求都需要打開另一個套接字(與服務器建立新的虛擬連接)。

不,不是。 HTTP 1.1默認使用持久連接,而HTTP 1.0則使用非官方的Connection: keep-alive標頭,它在將近20年前完成了同樣的事情。

問:效率如何?

並非如此,這就是為什么它不會發生的原因。

我知道這些資源可能位於另一台主機上(確實需要新的TCP連接),但是如果它們都在同一主機上,那么在單個TCP連接內傳輸所有數據的效率將更高。

是的,默認情況下會發生這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM