你刚才点开一个视频,两秒就播了。
这两秒里发生的事情,比大多数人以为的多得多:你先是在跟离你最近的一台机器说话,而不是跟"那个网站";你手机上的支付码早就被提前签好了名,所以哪怕你站在地库里没有信号,超市的机器一样能把钱划走;而在你看不见的另一侧,有人在用"最小权限"这四个字,决定你手机上那个修图软件到底能不能读你的通讯录。
今天的题目几乎都落在这条链子上——数据怎么被送到你面前,以及一路上有谁在给东西上锁。
先说一个你每天按几十次却很少想过的键:F5,或者 Ctrl+R。
刷新到底刷新了什么?它让你的浏览器把"我上次拿到的那份东西,还能用吗"这个问题重新问一遍。如果服务器回答"没变"(HTTP 状态码 304),浏览器就直接用本地缓存的那一份,一个字节都不重新下载。所以同样是刷新,普通 F5 是"问一句",而 Ctrl+F5 是"别问了,全部重下"。这就是为什么改了网站样式却看不到变化时,硬刷新能解决——不是服务器变了,是你手机里那份旧副本一直没被换掉。
那"离你最近的一台机器"又是谁?答案是 CDN,内容分发网络。
机制上讲,CDN 做的事非常朴素:把视频、图片这些不会因人而异的文件,提前复制到遍布各地的节点上,让你就近取。你在北京点开一个视频,拿到的可能是天津机房里的那一份,而不是深圳总部服务器吭哧吭哧传过来的那一份。
为什么非要这样?因为光速是有限的。光在光纤里跑,一秒钟大约二十万公里——这个数字听起来很大,但分摊到一次往返就不够看了。北京到广州直线距离约 1900 公里,光要在两地间走一个来回,理论上限就已经是二十毫秒左右,实际因为线路要绕行,只多不少。而一段直播画面如果延迟超过一两百毫秒,主播说完话你要过半秒才听到反应,"连麦""比赛解说""远程会议"这类需要来回互动的场景立刻就崩了。低延迟这件事,最受益的从来不是"看得清",而是"接得上话"。
这也能解释一个反直觉的现象:视频卡的时候,切换清晰度往往比反复刷新更有效。因为你换的不是"同一条路快不快",而是"换一份更小、更新鲜的缓存副本"。
你在浏览器里敲进去的是一串给人看的名字,而机器之间只认门牌号——IP 地址。把名字翻译成门牌号的那套系统,就是我们平时说的域名解析。
域名是分层的,最右边那一段是"顶级域"。你看到 .jp 就知道这是日本,.uk 是英国。这里有个冷知识:英国的标准化国家代码是 GB,但它的国家顶级域名却用了 uk——历史遗留的不一致,一直沿用至今。
再说"代理 IP"。爬虫采集数据时几乎一定会用到它,原因也很直白:如果一万次请求都从同一个门牌号发出去,对方服务器两分钟就能发现"这不像人干的事",然后把门一关。代理的作用就是替你去请求,对方看到的是代理的门牌号,不是你。
这里藏着一个值得记住的判断:"封 IP"从来不是可靠的安全措施。既然门牌号可以换,那靠封 IP 来挡住攻击,本质上是在堵一个随时能换出入口的门。真正管用的防护得靠"你是谁"(身份)和"你能干什么"(权限),这两件事在后面几节还会出现。
下载大文件时你大概见过"种子"这个词,用的是 P2P,点对点技术。
它的核心原理是:把文件切成很多小块,下载的人各自从别人那里取自己缺的块,同时也把已有的块分给别人。于是出现了一个漂亮的翻转——下载的人越多,整体速度反而越快,因为每个新增的人既在消耗带宽,也在提供带宽。这和传统的"一台服务器发给所有人"完全相反:后者人一多,服务器就喘不上气。
顺着"传输"往下想,还有个天天遇到却没人解释的东西:为什么邮件附件通常限制在 25MB 左右?
三个现实原因叠在一起。第一,邮件传输协议要把二进制文件编码成文本,这个过程会让体积膨胀约三分之一,你上传 25MB,服务器实际要处理的是 33MB 上下。第二,邮件服务器得把整封信先落到磁盘上再转发,如果收件人写的是十个同事,那就是十份。第三,邮件系统从设计之初就是个"轻量消息系统",不是文件传输工具——历史上一堆服务器共用、互相转发,一个超大附件会拖累的不止你自己。
所以现在的大文件都改走云盘链接:邮件里只放一个地址,附件本体留在专门的存储上。这不是退步,是把合适的东西交给合适的工具。
而下载完之后怎么确认"东西没传坏"?很多网盘会给你一串 32 位的 MD5 码。MD5 是一种"摘要"算法:不管原文件多大,算出来永远是 128 位(写成十六进制就是 32 个字符)。只要内容改动一个字节,算出来的结果就面目全非。所以它的用途只有一个——校验完整性。
但这里必须说清一件事,很多人对它有误解:MD5 早就不适合用来做安全用途了。2004 年,王小云团队公布了针对 MD5 的有效碰撞攻击——也就是说,能造出两份内容不同、摘要却一模一样的文件。到 2009 年,业内标准文档已明确建议停止在数字签名等安全场景使用 MD5。所以网盘上那串 MD5 的真实意义是"帮你确认传坏没有",不是"帮你防篡改"。真要防篡改,靠的是下一节要讲的数字签名。
交换机的工作方式其实很热心:一个端口收到广播帧,它会转给其余所有端口。
这在几十台设备的网络里无所谓,但公司里几百台电脑挂在同一组交换机上时,每一次"谁在?"的广播都要惊动所有人,设备一多就变成"广播风暴",把带宽白白烧掉。VLAN(虚拟局域网)做的事,就是在同一台物理交换机上切出几个互不打扰的逻辑分区,让广播只在分区内部传播。
这里要较个真,因为今天这道题的表述有个小陷阱。它问的是"把电脑划分在同一个 VLAN 内,好处是隔离广播风暴"——严格讲这是反的。把机器放进同一个 VLAN,广播照样会在它们之间传;真正隔离广播的,是"把它们分到不同的 VLAN 去"。VLAN 的价值在于"划出边界"这个动作,而不在于"关进同一个房间"。
还有一句常被误解的:VLAN 是二层隔离,它降低广播域、方便做网络分段,但它不加密,也不太经得起有心人——能插上同一台交换机、或者把 VLAN ID 配成一样的人,就进来了。把 VLAN 当安全边界,是很常见的误会。顺带说,家用路由器上的"访客网络",其实就是 VLAN 的消费品版本。
再说手机信号栏上那个 HD。它代表开启了 VoLTE,也就是语音走数据网络。
以前的通话要回落到 2G 或 3G 的电路域去完成,代价是接通要等两三秒,而且通话期间基本没法同时高速上网。VoLTE 把语音也打包成数据包,走同一张 4G/5G 网络,于是接通快、音质更宽、通话和上网可以并行。
生活里可以顺手检查一下:如果你的手机打电话总要等几秒、或者通话时网络就断,看一眼信号栏有没有 HD——这个开关多数运营商默认开着,但换机之后偶尔会被关掉。
如果你家里有十几二十个智能设备——灯泡、门磁、温湿度计、窗帘电机——你会发现一个现象:设备一多,Wi-Fi 就开始抽风。
这不是路由器质量差,而是 Wi-Fi 的设计目标本来就不是"伺候几十个小东西"。Wi-Fi 要带宽、要覆盖、要支持你同时看视频打游戏,代价是功耗大、建立连接慢、每台设备都要占一份路由资源。而温度计这种设备一分钟就发几十个字节的数据,用它去跑 Wi-Fi,就像开卡车去送一封平信。
所以这类设备普遍用 Zigbee 或蓝牙(低功耗蓝牙)。它们跑在 2.4GHz 频段,速率低得多,但功耗小、连接快,而且 Zigbee 支持"网状网络"——每个设备都能顺手帮邻居转发数据,一个坏了还有别的路可走。
再说"配对"。你连蓝牙耳机时总要配对一次,这个动作到底在做什么?它不是"让两个设备互相认识"这么简单,底下做的是两件事:确认彼此的身份,并协商出一把只有它们俩知道的密钥。之后所有的数据都用这把钥匙加密传输。跳过配对直接连?那等于当着整间咖啡馆的面念自己的银行卡号。
(顺带一句:这也解释了为什么公共场合不要随便连来源不明的蓝牙设备——配对是建立信任关系,而信任一次,钥匙就交出去了。)
最反直觉的一道题在这里:你在信号很差的地下车库,打开付款码,超市的机器一扫,钱照样划走了。
钱是怎么在"你没网"的情况下走掉的?
答案是:那张二维码在生成的那一刻,就已经是一张预先签好名的付款凭证了。它里面装着商户号、金额范围、有效期和一段签名。你手机负责的只是"出示";真正联网、真正扣款的是商户那侧的收单系统。你断网不妨碍它联网。
既然码是"提前签好"的,防伪就得靠规则设计,而不是靠"连不连网"。这类码通常有四道约束叠在一起:限时(几秒到一分钟就失效)、限额(小额免密有上限,大额要二次验证)、一次性(用过即作废,同一张码扫不了第二遍)、动态生成(每次刷新都不一样,防止有人偷拍截图)。
所以真正值得你动手的一件事是:去把免密支付的单笔限额调低。这是普通人几分钟就能做完、收益又最直接的一个安全设置——它不阻止你付钱,只是把"万一码被偷拍"的最大损失压到你还能接受的范围里。
现在回答前面埋下的问题:既然门牌号能换,真正的防护靠什么?
靠一条 1975 年就被写进计算机安全经典论文的原则——最小权限原则:任何程序、任何人,只应拿到完成任务所必需的那一部分权限,多一点都不给,而且用完就该收回。
这条原则落到你手机上,就是那些天天弹的"APP 权限申请"。哪些最该警惕?判断标准其实很朴素:这个权限跟这个功能有没有关系。
一个修图软件要读你的通讯录?一个手电筒要你的通话记录?一个计算器要后台一直拿你的位置?——这些都属于"与功能无关的敏感权限",越界的可能性最大。反过来,地图软件要定位、相机软件要摄像头,这是它干活所必需的,反而不用紧张。
再纠正一个几乎人人都误解的功能:无痕模式(隐身模式)。
浏览器官方的说明其实写得很老实:它不保存你的浏览记录、Cookie 和表单信息——换句话说,它保护的是"这台设备上不留痕迹"。它不能让你在网上隐身:网站仍然能看到你来了,你的公司网络和运营商仍然能看到你在访问什么,你登录过的账号仍然知道是你。
所以无痕模式真正适合的场景是:借别人的电脑查点私事,不想在对方设备上留下记录。而不是"我想干点不想被人知道的事"。
到这一节,可以把今天这些安全题压缩成三把锁。它们各自解决一个不同的问题,也各自有失效的方式。
第一把锁,确认"东西没被换过"——这是数据完整性的问题。前面说的 MD5 属于这一类,但它已经不够可靠了,现在用更强的摘要算法(如 SHA-256)。
第二把锁,确认"是本人发的"——这是身份认证的问题,答案是数字签名。原理是把文件的内容摘要用开发者的私钥签一下;任何人拿到文件后,用公开的公钥去验签。验过了,就同时证明了两件事:这东西确实出自那个人之手,而且中途一个字节都没被改动过。这就是应用商店强制要求"数字签名"的核心目的——防止有人把官方 APP 换成夹带私货的版本,让你在装机这一步不被人做手脚。
第三把锁,确认"只有我们能看懂"——这是保密性的问题,典型代表是端到端加密。
端到端加密的特点是:只有通信的两端能解开,中间的服务器只负责转发密文,它自己也看不懂内容。这是它和"传到我这儿我再帮你加密转出去"的本质区别。
但要诚实地说清它的边界:端到端加密保护的是"内容",通常不包括"元数据"——谁在什么时间、和谁、通信了多久,这些信息往往仍然可见。锁上了信,信封上还是写着收发地址。
最后一把"锁"其实是反过来的教训:勒索病毒。它的典型危害是把你的文件全部加密,然后索要赎金。
它最值得记住的地方在于:这类攻击几乎防不住,但几乎都能扛住。防不住,是因为它常靠一个你还没打补丁的漏洞进来——2017 年席卷全球一百多个国家的 WannaCry 就是利用了当时 Windows 的一个文件共享漏洞。扛得住,是因为只要你有一份离线的备份,加密就加密了,你的数据还在。
反过来说,杀毒软件在这里的作用被高估了:它的本质是"见过这个坏东西,所以我拦住它",而勒索加密是不可逆的——等它被识别出来,文件早就锁上了。所以真正该做的是备份:业界有个简单的口诀叫 3-2-1——留三份副本,放在两种不同的介质上,其中至少一份离线。
到这里讲的都是"数据怎么送"。但还有一层问题:你打开页面后,先看到哪一条?
搜索引擎的排序,主要看两件事:相关度和权威度。相关度是"页面内容跟你的词匹不匹配",权威度则来自一个很聪明的想法——一个页面被多少、多重要的页面链接过去。这个思想最早由 Google 的两位创始人在 1998 年的论文里提出,核心一句话:被高质量页面"投过票"的页面,更可能是重要的。
推荐算法则是另一套逻辑:它主要是用你过去的行为去估计"你下一步想看什么"。注意它的本质是相关性估计,不是"懂你",更不是"了解你这个人"——它算的是概率,不是理解。
理解了这一点,你就会明白一个实用结论:想换换推荐内容,最有效的动作是"主动搜索",而不是反复点"不感兴趣"。因为搜索是你明确表达意图,而"不感兴趣"只是在否定一个猜测——前者给系统的新信息,比后者多得多。
GMV 的全称是 Gross Merchandise Volume,商品交易总额。
它统计的是订单金额——不扣退款、不扣取消、也不扣还没付款的。所以 GMV 涨了,不等于赚到了。业内还分"下单 GMV"和"支付/成交 GMV",大促公布的那个大数字通常用的是下单口径,这也是历年都会被讨论的地方。所以看到一个很大的 GMV 时,最有用的一句话是:这个口径含退款吗?
CAC 是 Customer Acquisition Cost,用户获取成本:一段时间里获取新用户的总花费,除以新增用户数。
分子里装的是广告费、渠道分成、地推人力、新人补贴的总和。它的意义必须和 LTV(用户终身价值)放在一起看——业内常引用"LTV/CAC 大于 3"作为健康线的经验法则,但要记住这是经验值,不同行业差别极大,不要当成定律。举个例子算一遍:投放花 10 万、带来 1000 个新用户,CAC 就是 100 元;如果每个用户平均每月贡献 20 元、平均留 12 个月,LTV 是 240 元。
SEO 是 Search Engine Optimization,搜索引擎优化,目标是提高自然搜索结果里的排名,也就是不花钱的那一部分;相对应的付费部分叫 SEM。
搜索引擎干活分三步:爬虫抓取网页、把内容建成索引、按信号排序。Google 的官方文档把正统做法归纳得相当朴素:内容对用户有用、页面能被抓取和理解、不要用欺骗手段。SEO 和 SEM 的根本区别是"资产"和"租金"——广告停了流量就停,而一篇能被持续检索到的内容,会在你不投钱的时候继续把人带进来。
最后是"限流"。双十一这种大促,系统故意拒绝掉一部分请求,听起来像故障,其实是保护:当访问量超过系统承载能力时,如果全部放进来,结果是所有人都不可用。限流相当于一个蓄水池闸门,牺牲掉最外层的一部分流量,保住核心的"下单—支付"链路。这是工程上很典型的取舍:主动地、有选择地失败,好过被动地、全体地崩溃。
把今天这 26 道主题题串起来,是同一条链子的三层。
一层是"怎么送到":你按了刷新,浏览器先问本地那份缓存还能不能用;视频播放走的是 CDN 就近取来的副本;大文件靠 P2P 让每个下载的人都顺手当一次搬运工;公司里的电脑被 VLAN 划进不同的小圈子,一条广播才不至于惊动整栋楼;手机能把语音也打包成数据包,于是打电话和上网可以并行;家里的传感器则另走一条低功耗的路。
一层是"怎么不出事":门牌号可以换,所以封 IP 不算防护;权限要按"最小够用"来给;摘要用来确认东西没被换过,签名用来确认是本人发的,加密用来确认只有两端看得懂;而面对勒索病毒,最靠得住的不是杀毒软件,是一份离线的备份。
再往上一层,是"谁在决定你先看到什么、这门生意怎么算账":排序靠相关度和权威度,推荐靠对行为的概率估计,限流是主动认输以保住核心链路;而 GMV、CAC、SEO 这三个数字——第一个要问口径,第二个要配着 LTV 看,第三个是资产而不是租金。
技术决定"能不能送到",安全决定"送到的东西有没有被换过",平台规则决定"这件事值不值得被送到"。三层都做对了,开头那两秒,才值钱。