[英]Http requests and TCP connections
到目前为止,我的理解是,当有人尝试访问网页时,会发生以下情况:
如果一切正常,则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.