繁体   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