INSTALLATION / CONFIGURATION

全平台安装配置

从安装包架构到代理接管,按操作系统查阅 Clash 配置步骤。

首次使用可先按使用指南完成连接。本页用于系统查阅:说明各平台安装差异、权限边界、配置保存方式,以及故障发生后应检查的具体位置。安装包集中在Clash 下载页,本页不重复维护下载文件。

准备工作与配置边界

先确认设备系统、处理器架构和已有订阅,再下载客户端。桌面系统可从系统信息查看架构,手机则先查看系统版本和设备型号。客户端负责界面、配置管理与网络接管,mihomo 等内核负责解析配置和转发连接,两者不能混为一谈。安装界面成功不代表订阅可用,订阅导入成功也不代表系统流量已经进入内核;后续检查需要分别验证这三个环节。

选择客户端与订阅格式

Windows、macOS、Android 和 iOS 可优先查看 Clash Plus;Linux 可选择 Clash Verge Rev 或 FlClash。不同客户端的功能入口和配置存储方式并不相同,本手册使用“配置”“策略组”“系统代理”等功能名称描述操作,不把某一界面的按钮位置当成通用标准。下载时还应查看维护状态,Clash for Windows 与 ClashX Meta 属于已停止维护的归档选择,不适合作为新设备的默认方案。

准备一份有使用权限的订阅链接或本地配置。订阅地址可能包含账户识别信息,不要粘贴到公开讨论区、截图或在线转换页面。完整 Clash YAML 通常包含节点、策略组与规则;只有节点列表的内容则可能需要客户端模板或订阅提供方输出兼容格式。遇到格式错误,先确认下载到的是配置文本,而不是登录页面、访问拒绝提示或到期说明,不能仅凭文件扩展名判断内容。

区分配置、模式与网络接管

把配置导入列表后,还需要选中并启用该条目。随后进入策略组选择出口,代理模式通常先用 Rule。Rule 按规则决定直连或代理;Global 将进入内核的业务连接交给全局策略;Direct 则使用直连出口。它们决定的是流量进入内核之后的处理方式,不负责把所有应用流量送进内核。因此切到 Global 不能修复系统代理未开启,也不能替代 TUN 所需的系统权限。

方式主要作用需要注意
系统代理向遵循系统设置的应用提供代理地址。部分终端、游戏和自带网络栈的程序不会使用它。
TUN / VPN通过虚拟网络接口与路由接管流量。需要系统授权,可能与其他 VPN 或路由工具冲突。
应用内代理由单个应用直接连接本地代理端口。协议、地址和端口必须与客户端监听设置一致。

保留可回退的基线

第一次配置时只启用一种接管方式,确认可用后再增加功能。记录原有系统代理、其他 VPN 状态和客户端端口;不要同时更改 DNS、TUN、规则和订阅,否则出现错误时很难定位是哪一项引起。复制一份配置用于实验,日常订阅保留原始条目。订阅自动更新可能覆盖直接编辑的内容,持久化修改应放在客户端支持的覆写、合并或脚本设置中,并确认这些设置实际应用到了运行配置。

完成后选一个明确应走代理的站点和一个应直连的站点分别访问,在连接页核对目标域名、匹配规则与最终出口。延迟测试只是一次探测结果,不能证明所有业务协议都能正常通过。需要逐步操作时,返回订阅导入步骤;术语不清楚时可查阅策略组解释,再继续对应平台章节。

Windows 安装与接管

打开Windows 客户端下载区,优先查看 Clash Plus,并按设备架构选择安装包。系统“设置 → 系统 → 系统信息”可以查看处理器与系统类型。x64 与 ARM64 不是可以随意互换的标签,即使某些应用能通过兼容层启动,其网络服务组件也未必适配。安装前退出旧客户端,尤其是托盘中仍在运行的实例,避免两套程序争用本地监听端口或反复改写系统代理。

完成安装并确认内核运行

按安装向导完成程序部署,再从开始菜单启动。若使用免安装形式,应先解压到稳定目录,不要在压缩包预览中直接运行,也不要长期放在会被清理的临时文件夹。首次启动后查看状态页或日志,确认内核没有持续退出。程序窗口能打开而内核启动失败时,应先看错误信息中的路径、端口或配置字段;重复点击连接通常不能解决此类问题。

网络服务组件的安装与普通界面启动是两回事。客户端提示安装服务时,先确认提示来自当前程序,再按系统要求授权。没有管理员权限的工作设备可以先尝试系统代理,但不应绕过组织策略安装驱动或服务。安全软件拦截时查看其事件详情,确认被拦截的文件与安装来源,不要把关闭整套防护作为固定安装步骤。程序升级前记录配置目录和覆写内容,防止把卸载清理误当成常规更新。

导入订阅与开启系统代理

在配置或订阅页面选择从 URL 导入,粘贴完整地址,保存后执行更新。下载成功后选中该配置,再进入策略组选择一个可用出口。若导入的是本地 YAML,使用文件导入入口,而不是把文件路径填进订阅 URL。二维码只是地址的另一种输入方式,识别结果仍需确认来源。关于三种入口的差异,可参考URL、二维码与本地 YAML 导入说明。

先保持 Rule 模式,开启客户端中的系统代理开关,再到 Windows 的代理设置中检查代理地址是否指向本机、端口是否与运行配置一致。常见本地地址为 127.0.0.1,但端口应以客户端实际显示为准。浏览器扩展可能拥有自己的代理规则,排查时先停用重复接管的扩展,并关闭旧页面连接后重新访问。仅观察网页能否打开还不够,还应在客户端连接列表中找到对应请求。

TUN 权限与常见冲突

遇到不遵循系统代理的应用,再考虑启用 TUN。按客户端提示安装或启用服务,确认虚拟网络接口和路由建立成功。首次测试可先关闭系统代理,仅保留 TUN 这一条接管路径,待验证后再按客户端建议组合使用。若开启后所有站点都失败,应立即停用 TUN,检查是否同时运行其他 VPN、虚拟机网络工具或全局流量过滤程序。设备能否直连恢复,是区分接管问题和上游节点问题的重要依据。

netstat -ano | findstr ":7890"
netsh winhttp show proxy

第一条命令用于查看示例端口的占用情况;有输出后还需结合监听状态和进程编号确认所属程序。第二条命令查看 WinHTTP 的代理设置,它与当前用户的系统代理并不是同一套设置,所以输出为直接访问不能单独证明客户端系统代理开关失效。不要为了让两处显示一致就盲目修改 WinHTTP;只有明确依赖它的程序才需要对应配置,并应记录恢复方法。

退出客户端后如果浏览器仍提示代理连接失败,回到 Windows 代理设置确认是否残留本地代理。休眠唤醒或切换网络后才出错,则先重建连接,检查客户端服务状态,再重启接管功能。不要直接删除全部配置;保留原始日志和一次失败请求的时间点,能更快判断是本地端口、DNS、规则还是节点出口出现问题。

macOS 安装与权限

从macOS 下载区选择 Clash Plus,按“关于本机”显示的芯片类型区分 Apple Silicon 与 Intel 安装包。Clash Verge Rev 和 FlClash 可作为其他界面选择;ClashX Meta 属于归档客户端。不要仅凭应用图标或文件名中的 Mac 字样判断架构。换用另一款客户端前先关闭原程序的系统代理和后台服务,否则新程序启动正常,也可能仍由旧程序控制网络设置。

安装到稳定位置并处理授权

打开下载的磁盘映像后,将应用拖到“应用程序”目录,再从该目录启动。不要长期从挂载映像里运行,系统重启或弹出映像后,登录项与辅助程序可能找不到原路径。系统给出下载来源提示时,先确认下载位置和应用身份,再在“隐私与安全性”中查看可用操作。不要把移除安全属性或关闭系统安全机制当成通用安装方法;明确的授权提示与未知来源文件应分别处理。

辅助服务、网络扩展或 VPN 配置的授权属于系统级变更,其提示形式取决于客户端实现。按当前应用引导完成授权后,回到客户端查看服务是否就绪,而不是只看系统弹窗已经消失。受设备管理限制的电脑可能禁止用户批准网络组件,此时应遵循管理策略。安装失败需要记录系统提示原文、应用所在路径和芯片类型,单纯重装同一个文件通常不能解决权限边界问题。

导入配置并检查活动网络服务

在配置管理中添加订阅 URL,更新后激活条目,再选择策略组出口。首次使用先通过系统代理验证浏览器访问,保持其他 VPN 关闭。macOS 的代理设置与具体网络服务关联,Wi-Fi、以太网和扩展坞提供的网卡可能不是同一个服务。换网后发现代理不生效,应检查当前正在使用的网络服务,而不是只查看曾经配置过的 Wi-Fi 项目。客户端若提供自动设置系统代理功能,仍要确认它操作的是当前服务。

scutil --proxy
networksetup -listallnetworkservices

scutil --proxy 可用于查看系统代理信息,另一条命令列出网络服务名称。检查时重点看启用状态、代理服务器和端口是否与客户端一致。终端中的命令行程序未必读取这些系统设置;某个浏览器可用而命令不可用,不能直接归因于节点异常。先确认程序支持的代理方式,再使用对应环境变量或命令参数,避免把 HTTP 代理地址误填到不支持该协议的入口。

TUN、睡眠唤醒与配置保留

需要接管更多应用时再启用 TUN,并按客户端要求批准相关服务。若启动日志显示权限不足、设备创建失败或路由设置失败,应先解决对应系统操作,不要反复替换订阅。TUN 建立后还应检查 DNS 是否进入预期路径;虚拟接口存在不等于域名解析已经正确。企业 VPN、虚拟化软件和其他网络扩展可能同时修改路由,测试时应一次只保留必要组件,便于定位冲突来源。

配置修改要区分订阅原文件与运行时生成文件。前者可能被订阅更新替换,后者可能在每次启动时重建;直接修改其中任何一个,都不一定形成长期设置。优先使用客户端的持久化覆写入口,并在应用后检查最终配置。升级前备份订阅来源、覆写内容和必要的本地规则,订阅地址应按敏感信息保存,不要把整个配置目录同步到公开仓库。

卸载或更换客户端前,先关闭系统代理与 TUN,再退出应用。如果只把应用移到废纸篓,已批准的网络配置或后台辅助组件不一定同步移除,应使用客户端提供的服务卸载入口,并在系统网络设置中检查残留。恢复直连后再启动替代客户端,可以避免两个程序相互覆盖代理状态,也能明确新问题是在哪一步开始出现的。

Android 安装与后台

从Android 下载区优先选择 Clash Plus,也可按配置兼容性选择 Clash Meta for Android、FlClash 或 Surfboard。现代设备通常使用 ARM64,但应以设备架构和安装包说明为准。旧设备可能需要其他架构或通用包,不能通过反复安装不同文件来代替确认。若系统提示与已有应用冲突,先查看应用名称、包来源和签名相关提示,备份配置后再决定是否更换安装来源。

安装授权与本地 VPN 机制

通过浏览器或文件管理器打开安装包时,系统可能要求允许该来源安装应用。只给当前实际使用的来源授权,安装结束后可恢复原来的限制。遇到安装失败,先检查存储空间、系统兼容要求,以及是否正在覆盖不同签名的安装。卸载会影响应用私有数据,不能在未备份订阅和覆写内容时把卸载作为第一步;本地 YAML 还应另存到可识别的目录,避免清理下载文件时一起删除。

首次启动代理服务时,Android 会请求建立 VPN 连接。这是应用通过系统接口创建本地虚拟网络通道的授权,不代表订阅提供方已经配置成功。手机上的其他 VPN、部分防火墙和网络过滤应用也可能使用同一系统能力,通常无法同时独立占用。出现另一应用被断开的现象时,应先检查现有 VPN 状态,不要把它误判为 Clash 强制退出或节点不稳定。

订阅激活与分应用范围

在配置列表新增远程订阅,填入名称与完整地址,更新成功后将其设为活动配置,再到策略组选择出口。二维码导入时确认扫描结果是预期订阅地址;截图中如果包含完整地址,不要直接上传求助。导入成功但列表没有可用策略组,可能是订阅只有节点数据,或者格式需要客户端模板支持。Surfboard 的配置格式和 Clash YAML 不应视为等价,切换客户端前需要确认订阅提供方是否支持对应输出。

启动连接后,先测试一个浏览器请求,再查看连接日志。移动端通常通过 VPN 接管,不需要照搬桌面端的系统 HTTP 代理步骤。若客户端提供分应用代理,确认当前采用的是“仅选中应用”还是“排除选中应用”;两者含义相反,选错后会出现浏览器可用而目标应用没有记录的情况。修改范围后应彻底结束目标应用再启动,让它建立新连接,已有会话不一定立即迁移。

电池限制、网络切换与自启动

锁屏后断连而亮屏恢复,优先检查系统对后台运行、电池使用和自启动的限制。不同设备厂商入口不同,应从应用详情查看相关设置,允许客户端按实际需要持续运行。后台任务列表中的锁定、通知显示和电池优化是不同机制,不能只开启其中一项就断定其他限制已经解除。也不要给所有应用统一放宽限制;先确认是否确由后台回收引起,再只调整代理客户端。

从 Wi-Fi 切到移动网络后,原有连接可能中断,应用需要重新建立会话。若只在移动网络失败,检查应用是否被禁止使用移动数据、订阅更新是否依赖当前网络,以及节点所用协议是否能在该网络工作。Android 的私人 DNS 与客户端 DNS 设置可能同时参与解析,遇到域名异常时记录两处状态,做一次可回退的单项对照测试,而不是同时关闭所有解析功能。

排查应用异常时,先核对该应用是否在代理范围,再看是否出现对应域名连接;有记录但出口错误,继续检查规则;出口正确却失败,才进一步测试节点、DNS 和应用自身的网络要求。延迟数值正常不能排除业务连接受限。订阅更新失败也应与代理连接失败分开处理,具体原因可对照订阅更新失败与自动刷新设置,避免把有效配置反复删除重建。

iOS 安装与 VPN 配置

iOS 优先使用 Clash Plus,通过App Store 的 Clash Plus 页面安装,产品信息可查看官网 clashplus.io。安装前查看商店显示的设备兼容要求,再确认设备可用存储空间。应用安装完成与网络代理启用是两个独立步骤;首次打开时先熟悉配置管理和连接入口,不要在没有有效订阅的情况下反复批准、删除系统 VPN 配置。

导入订阅并启用配置

准备与客户端兼容的订阅 URL,在配置管理中通过链接入口添加。粘贴后检查地址前后是否出现空格、换行或聊天软件附带的标点;带账户参数的地址应完整保留。更新成功后选中该配置,查看策略组是否按预期出现,再选择一个可用出口。若从文件导入 YAML,应通过客户端提供的文件选择或分享入口打开,导入后仍需激活,不能把文件已保存到手机理解为客户端已开始使用。

订阅链接与节点分享链接可能使用不同结构。单个节点不一定包含完整规则和策略组,不能把所有导入入口都当成可互换的文本框。如果服务提供方给出了专用客户端链接,应先确认它最终对应的配置格式。下载失败时先看是地址无法访问、内容不兼容还是订阅已失效;反复切换 Rule 与 Global 不会改变订阅服务器返回的文件内容,也不能解决登录页面被误当配置的问题。

批准 VPN 并验证实际出口

首次启动连接时按系统提示允许添加 VPN 配置,并完成设备要求的身份确认。这个授权让客户端建立系统网络通道,不表示所有域名一定走代理。进入应用后保持 Rule 模式,访问测试站点,再回到连接记录查看匹配规则和出口。状态栏或系统设置显示 VPN 已连接,只能说明通道处于连接状态;配置中的规则仍可能选择直连,选中的节点也可能无法完成某个目标请求。

如果同时使用企业 VPN、其他代理应用或网络过滤工具,先确认当前由哪个配置建立连接。切换前关闭原连接,再启动 Clash Plus,避免对系统当前状态作错误判断。按需连接等系统行为还可能在网络变化后重新拉起原配置,需要结合系统 VPN 设置查看。管理设备上的网络策略可能限制修改,遇到限制应遵循设备管理要求,不应通过删除管理配置来尝试恢复个人代理。

后台、DNS 与局域网访问

iOS 的网络扩展和应用界面并非同一个运行状态,离开界面不必然表示代理停止;反过来,界面仍在任务列表也不能证明连接有效。判断应以当前 VPN 状态和新产生的连接记录为准。不要依赖持续停留在界面来解决断连,先查看是否发生订阅更新错误、扩展退出或网络切换。若系统限制了应用的移动数据使用,也应结合客户端实际行为检查,而不是只在 Wi-Fi 下反复测试。

局域网设备、打印机和本地服务无法访问时,先确认目标地址是否命中代理规则,以及客户端是否提供局域网绕过或相关路由选项。添加直连规则前确认网段来源,不要把整个陌生地址范围都设为直连。域名能解析但设备打不开,还可能涉及本地网络访问授权、目标端口或局域网隔离;不能只凭能否打开网页来判断。每次更改后重新建立连接,再核对实际匹配结果。

自动更新间隔应按订阅提供方要求和客户端支持情况设置。移动系统的后台执行受系统调度影响,不能把设置了间隔理解为每次都在精确时刻完成刷新。外出前可手动更新一次,确认配置仍能启用;切换配置前保留可用条目。若连接后某个应用仍失败,按“新请求是否出现、规则是否正确、出口是否可用”的顺序检查,而不是直接重装。更详细的业务验证步骤见首次连接与代理生效验证。

Linux 桌面与内核部署

Linux 桌面用户先查看Clash Verge Rev 与 FlClash,服务器或路由器用户再查看mihomo 内核。图形客户端通常整合配置、托盘和服务管理,单独运行内核则需要自行安排配置目录、进程管理、日志与网络接管。不要在同一目录混用图形客户端管理的文件和手动部署文件,也不要让两个内核同时监听相同地址与端口。

确认架构与安装依赖

使用 uname -m 查看处理器架构,再按发行版选择包格式。Debian、Ubuntu 等系统通常使用 deb 包,采用 RPM 体系的发行版应选择对应软件包;包格式相同也不代表全部运行依赖相同。下载页没有提供的架构,不应通过修改文件名伪装兼容。通过发行版包管理器安装本地包,可让依赖错误以明确形式显示;遇到缺少组件时,应按当前系统软件源解决,而不是随意复制其他发行版的动态库。

图形程序启动失败时,可从终端运行相应程序查看错误输出,先区分显示环境、桌面集成和内核配置问题。远程 SSH 会话没有完整桌面环境,不适合直接照搬桌面客户端操作。服务器场景通常只需内核及明确的应用代理设置;是否需要 TUN 取决于接管范围,不是部署成功的必选项。安装任何系统服务前先确定运行用户和配置路径,避免依赖临时下载目录。

图形客户端导入与桌面代理

在图形客户端中导入订阅、更新并激活,再选择策略组出口。开启系统代理后,GNOME、KDE 与具体应用对代理设置的读取方式可能不同;某个桌面开关并不自动覆盖每一个终端程序。先检查浏览器是否进入连接列表,再单独配置需要代理的命令行工具。对于支持标准环境变量的程序,可在当前 shell 中临时设置代理,验证通过后再决定是否写入持久化配置。

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export no_proxy=localhost,127.0.0.1,::1

# 结束当前 shell 的临时代理设置
unset http_proxy https_proxy no_proxy

上例要求本地 HTTP 或混合代理确实监听示例端口。https_proxy 中的 HTTP 地址表示连接代理所用的协议,并不是把目标 HTTPS 降为普通 HTTP。不同程序对变量名称、大小写和 SOCKS 支持不同,应以程序说明为准。新终端和已经启动的服务不会自动继承后来设置的变量;因此浏览器、终端与系统服务需要分别验证,不能只测试其中一处就认定全局生效。

独立内核、权限与服务边界

独立使用 mihomo 时,先解压匹配架构的内核,准备专用配置目录,并把实际配置保存为该目录中的 config.yaml。下面命令假定可执行文件位于当前目录,配置已放入用户目录下的 mihomo-config。先检查语法,再前台启动观察日志,确认监听正常后再考虑交给服务管理器。语法通过只表示配置能被解析,不能证明节点、规则引用或远程资源都可访问。

chmod +x ./mihomo
./mihomo -t -d "$HOME/mihomo-config"
./mihomo -d "$HOME/mihomo-config"

如果计划建立 systemd 服务,应使用稳定的绝对路径,并明确工作目录、运行用户和重启策略。普通本地代理未必需要管理员权限;创建 TUN 接口、修改路由和接管 DNS 则可能需要相应权限或能力。不要为省事把所有图形界面都以 root 身份运行。服务后台启动失败时应读取该服务日志,重点检查配置目录权限和资源文件路径,前台能启动不代表换成服务用户后也能读取同一文件。

启用 TUN 后检查默认路由、DNS 管理方式和其他 VPN 的状态。NetworkManager、systemd-resolved 与客户端可能分别管理网络的一部分,直接覆盖解析配置文件容易在重连后失效。先确定由谁管理 DNS,再使用相应集成方式。服务器还应检查防火墙:本地代理和控制接口默认只供本机使用,不应为方便远程操作直接向公网开放。停止服务后验证路由与解析已恢复,再进行下一次接管测试。

配置检查与问题定位

排查从一次可重复的失败请求开始:记录目标域名、发生时间、当前配置和接管方式,再看连接是否进入内核。没有连接记录,优先查系统代理、应用代理和 TUN 范围;有记录但走错出口,检查规则顺序与策略组;出口正确但请求失败,再检查节点、解析和目标服务。只有订阅更新失败而旧配置仍可使用时,应先查订阅获取链路,不要把两类问题合并成同一个“无法联网”。

端口设置与控制接口

mixed-port 是同时接收 HTTP 与 SOCKS 代理请求的监听端口;external-controller 是控制接口,不是业务代理端口。把浏览器指向控制接口会产生错误,改策略模式也不能修复。下面是便于检查的基础片段,应用前需要合并到完整配置;它只有直连出口,不提供代理节点。端口号是示例值,若已被占用,应在运行配置、系统代理和应用代理三处保持一致地调整。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

proxy-groups:
  - name: LOCAL
    type: select
    proxies:
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.com,LOCAL
  - GEOIP,CN,DIRECT
  - MATCH,DIRECT

监听地址与允许局域网访问是安全边界,不是加速选项。只在本机使用时保留回环访问即可;确需向受信任设备提供代理,还要检查绑定地址、身份验证、防火墙和所在网络。控制接口尤其不能因为面板连接失败就直接开放到所有网卡。确认监听冲突时先找到占用进程,判断是否为旧内核,再决定停用旧程序或更换端口,不要随意结束无法识别的系统进程。

规则顺序、DNS 与 Fake-IP

规则通常按顺序匹配,越具体的规则应放在相关兜底规则前,MATCH 一般放在末尾。规则引用的策略组名称必须存在,拼写和大小写也应一致。订阅里有某个节点,不代表规则自动使用它;流量最终交给哪个出口,还取决于命中的策略组及组内当前选择。修改后重建目标连接,旧长连接可能继续沿用原出口。操作流程可对照规则分流设置。

Fake-IP 用保留地址与域名建立映射,规则判断仍依赖内核掌握的域名信息。仅看到返回地址不是常见公网地址,不能判断解析失败。确有兼容问题时,把需要特殊处理的域名加入适当的过滤配置,并确认当前内核使用的过滤模式;不要直接复制大段不明来源列表。系统缓存、浏览器自带解析和客户端 DNS 可能形成多条路径,排查时一次只改一项。详细原理见Fake-IP DNS 映射说明。

GeoIP 更新与配置覆盖

先确定配置使用传统 GeoIP 数据文件,还是启用了 geodata 模式;不同模式需要的资源和路径不同。界面里的更新动作是否覆盖当前使用的数据,应结合日志和运行配置确认。GeoIP 更新不能修复全部规则问题:域名规则可能更早命中,规则集可能有自己的更新周期,某些匹配写法还会影响是否执行解析。出现数据库读取失败时,检查下载是否完成、目录权限和配置路径,而不是只重复重启。

资源更新与订阅更新也应分别记录。远程规则集更新失败时,先确认访问路径和缓存是否可用;直接替换订阅不一定改变规则集状态。需要长期保留的自定义规则应写入覆写设置,并在更新订阅后查看最终运行内容。YAML 使用空格缩进,列表、键名和嵌套层级必须保持正确;语法检查通过后仍要查看启动日志,确认远程引用和规则组实际加载成功。

如果修改后完全失去网络,先关闭当前接管,恢复可用的直连状态,再回退最后一项变更。需要完整顺序时查阅已连接却打不开网页的逐项排查清单,一般性疑问查阅疑难解答。恢复后重新验证直连与代理两个目标,确认问题真正消失,而不是恰好命中了浏览器缓存或仍然可用的旧连接。