我对互联网了解不多,但据我所知,它的工作原理大致如下:
- 我坐在电脑前
example.com
,向我的 ISP 发送了一条消息,大意是“获取http://s.tk
”,ISP 随后将这条消息传递下去,最终到达 的机器s.tk
。 - 机器
s.tk
收到“example.com
已发送‘获取http://s.tk
’”的消息,因此将其发送somefile
给其 ISP,后者将文件继续传递,最终到达 的机器example.com
。
当文件返回到example.com
我的计算机时,我的计算机如何知道该如何处理它?我确信标题(或其他内容)表明它是一个网页,而不是 Usenet 帖子——这不是我的问题。我的问题是:我的计算机如何知道是否在打开的 Opera 窗口、打开的 Firefox 窗口或其他打开的 Firefox 窗口中显示接收到的网页,或者打开一个新的浏览器实例?
答案1
如何渲染一个对象取决于以下几点:
- HTTP 标头
Content-type
- 文件扩展名(如果缺少上述内容)
- 文件签名(如果浏览器支持)
- 默认操作(如下载并尝试使用操作系统打开文件。
启发式渲染方法取决于浏览器。某些浏览器扩展会更改特定文件或 MIME 类型的行为。
编辑
要了解某个浏览器窗口如何处理页面,而不是其他浏览器窗口,您应该首先阅读OSI 模型简而言之,每个 TCP 连接都由内核分配给一个程序,例如浏览器。浏览器会保存选项卡状态以及哪个 HTML 元素属于哪个选项卡的详细信息。