Skip to content
目录

10 — Network Service

Network Service 是 Chrome 服务化的重要例子:把网络栈从 Renderer 中移走,放到更可信、更可隔离的服务里

为什么要拆出来

主要原因:

  • Renderer 不应该直接持有网络特权。
  • 网络栈崩溃不应拖垮整个浏览器。
  • 便于统一处理代理、Cookie、缓存、CORS、ORB 等网络策略。
  • 可以作为独立进程隔离风险。

Renderer 如何发请求

Renderer 发起资源请求时,不是直接操作底层 socket,而是通过 Browser / Network Service 相关接口完成。

这样 Browser 可以在中间执行安全策略、权限检查、请求取消、导航状态管理等逻辑。

进程模型

Network Service 可以在独立 utility 进程中运行,也可以在某些平台或调试场景下 in-process。

中重点说清:它是可信服务,不直接暴露给不可信 Renderer。

性能注意点

网络请求是关键路径,过多跨线程、跨进程 hop 会增加延迟。因此 Network Service 设计里会尽量控制不必要的任务跳转。

总结

Network Service 把网络能力集中到可信边界内,Renderer 通过 IPC 请求资源。它同时服务安全、稳定性和架构清晰度,但也要控制跨进程通信成本。

MIT License.