我的书和讲师说,非持久性HTTP连接为每个HTTP对象打开了单独的TCP连接(维基百科说“对于每个HTTP请求/响应对”)。
但是如何定义HTTP对象是什么?一个包含10个图像,3个视频和10个不同HTML文本段落的网站。这有多少个对象? 网站只是一个对象,所以我们只需要一个HTTP请求和一个TCP连接吗?或者这是23个不同的HTTP对象吗?
如果我说你需要一个网站的HTTP请求,然后10个新的图像,3个新的视频,这是正确的吗?但是文本呢?
谢谢:)
答案 0 :(得分:1)
是的,你需要连接每个...除了文本,文本是HTML的一部分,所以它下载在同一个文件中。
通常的过程:
答案 1 :(得分:0)
你可以在网站上有一个html连接,包括直接在html中的文本(如果每个段落在它自己的iframe中,那么它就是一个连接),还有你有每个图像一个,每个视频一个。
答案 2 :(得分:0)
为每个文件完成一个HTTP请求:一个用于包含页面文本和标记的HTML文件,一个用于图像文件,依此类推。
答案 3 :(得分:0)
没有“HTTP对象”这样的东西,所以你的问题确实没有意义。
有资源,它们是通过HTTP URL获取的。
基本上,HTML页面中的每个src =属性都命名另一个资源,当然页面本身也是一种资源。
答案 4 :(得分:0)
HTTP对象只是最通用的术语,意思是“由URL标识的内容” :)它已用于HTTP规范中(完全与面向对象编程无关):
https://www.w3.org/Protocols/HTTP/Request.html
关于 TCP / IP 问题:
浏览器可以建立连接池,这意味着它可以将已建立的TCP(和TLS)重用于更多后续请求,从而节省一些开销。这由Connection: keep-alive
HTTP / 1.1标头控制,并且对于加载对象(资源)的网页完全透明。