Chromium源码解读--net目录结构

参考文献

net 目录

概述

网络堆栈是一个主要用于资源获取的单线程跨平台库。它的主要接口是URLRequest和URLRequestContext。 URLRequest,如其名称所示,表示对URL的请求。 URLRequestContext包含完成 URL 请求所需的所有关联上下文,例如cookie、主机解析器、代理解析器、缓存等。许多 URLRequest 对象可能共享相同的 URLRequestContext。最多net对象不是线程安全的,尽管磁盘缓存可以使用专用线程,并且多个组件(主机解析、证书验证等)可能会使用未加入的工作线程。由于它主要运行在单个网络线程上,因此不允许阻塞网络线程上的任何操作。因此,我们使用带有异步回调的非阻塞操作(通常为CompletionCallback)。网络堆栈代码还将大多数操作记录到 中NetLog,这允许使用者将所述操作记录在内存中,并以用户友好的格式呈现以供调试之用。

Chromium 开发人员编写网络堆栈是为了:

  • 允许对跨平台抽象进行编码
  • 提供比使用更高级别的系统网络库(例如 WinHTTP 或 WinINET)更好的控制
  • 避免系统库中可能存在的错误
  • 为性能优化提供更多机会

代码布局

  • net/base - 获取net实用程序包,例如主机解析、cookie、网络更改检测、SSL。
  • net/disk_cache - 缓存 Web 资源。
  • net/ftp - FTP实现。代码主要基于旧的 HTTP 实现。
  • /http - HTTP实现。
  • net/ OCSP - OCSP时不使用实现系统库或者如果系统不提供OCSP实现。当前仅包含基于 NSS 的实现。
  • net/proxy - 代理(SOCKS和 HTTP)配置、解析、脚本获取等。
  • net/quic - QUIC 实现。
  • net/socket - TCP套接字、“SSL 套接字”和套接字池的跨平台实现。
  • net/socket_stream - WebSockets 的套接字流。
  • net/spdy - HTTP2(及其前身) SPDY 实现。
  • net/ url_request - URLRequest,URLRequestContext和URLRequestJob实现。
  • net/websockets - WebSockets实现。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要下载Chromium码,你可以按照以下步骤进行操作: 1. 首先,你需要下载depot_tools,这是一个用于管理Chromium码的工具集。你可以在官方网址http://www.chromium.org/developers/how-tos/build-instructions-windows 下载depot_tools。 2. 下载完成后,将depot_tools添加到系统的环境变量中,以便在任何位置都可以使用它。 3. 接下来,你需要创建一个自定义的目录,并使用命令行工具进入该目录。 4. 在目录中,执行命令"gclient config http://src.chromium.org/svn/releases/31.0.1620.2"来配置Chromium的版本。你可以根据需要下载不同的版本,可以在http://src.chromium.org/viewvc/chrome/releases/ 查看可用的版本。 5. 如果你不需要下载LayoutTest测试文件,可以打开以版本名称命名的目录下的DEPS文件,并将"src/third_party/WebKit/LayoutTests"修改为None。 6. 第一次执行"gclient sync"命令时,会自动安装git、python等必要的工具。请耐心等待安装完成。 7. 在安装过程中,可能会出现连接错误。如果出现连接错误,你可以尝试将以下内容复制到C:\Windows\System32\drivers\etc\hosts文件中,以解决连接问题。 8. 安装完成后,你可以执行"gclient sync"命令来获取Chromium码。如果下载过程中出现问题,可以重复执行"gclient sync"命令。 9. 下载完成后,进入目录,并执行"gn gen out/Default"命令来生成编译规则到out/Default目录中。 这样,你就成功下载了Chromium码。希望对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [下载Chromium码方法及问题记录](https://blog.csdn.net/hezhipin610039/article/details/31372619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Chromechromium下载编译详细步骤](https://blog.csdn.net/langeldep/article/details/120032077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值