现代网络浏览器的浏览器工作原理

How Browsers Work of modern web browsers

浏览器的组件是什么,控制浏览器的设置是什么,cookie 如何工作,浏览器会话如何工作?

这里的话题很大。我不会将其分解并永远写下来,而是通过一个网络场景:用户输入地址(或单击 link?)- 注意:有点过于简单化

  1. 浏览器分解 URI
  2. 浏览器检查缓存以查看站点 IP 地址是否在缓存中
  3. 如果没有,浏览器联系 DNS 服务器获取 IP 地址
  4. 浏览器在 URI 处创建资源请求,它是一个包含 header(用于路由)和 body(请求)的包。对于输入或点击的页面地址,它将是一个 GET 请求。浏览器也会发送一个collection of "capabilities" 像我接受cookies等等
  5. 已联系服务器,return已回复。
  6. 浏览器破坏响应。这可能是成功也可能是失败,无论哪种方式都会有一个 return 代码。
  7. 假设成功,浏览器随后解析消息并将其分解为页面的 HTML 和发送的任何 collection(例如 cookie)
  8. 对于 cookie,浏览器会在存储前检查用户偏好。应该注意的是,今天有不止一种类型的 cookie。有用户 cookie,其中包含用户信息,可以很容易地被用户和服务器 cookie 阻止,其中包含应用程序服务器所需的信息。如果需要,也可以阻止后者,但通常不建议这样做,因为您会失去功能。
  9. 解析 HTML 以便可以显示页面(呈现引擎),并且通过新的 Web 请求请求查看页面所需的所有资源(如图片)并在页面上呈现。

组件?你可以在这里推导一些。请求创建者、响应解析器、页面渲染器、配置(标准和用户)等

设置?太多无法涵盖。打开浏览器,查看设置,可以看到不少。

饼干?已经涵盖了基础知识。

会话?由服务器 cookie 处理。如果您限制它们,您一次只能获取一页,除非在每个请求的 URI 中传递一些信息。