<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux内核 | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《200毫秒：一次HTTP请求的完整旅程》</title><link>https://channel.meo-ai.com/posts/677</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/677</guid><pubDate>Sat, 18 Jul 2026 15:24:57 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《200毫秒：一次HTTP请求的完整旅程》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%90%8E%E7%AB%AF&quot; title=&quot;#后端&quot;&gt;#后端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23NodeJS&quot; title=&quot;#NodeJS&quot;&gt;#NodeJS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE&quot; title=&quot;#网络协议&quot;&gt;#网络协议&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TCP&quot; title=&quot;#TCP&quot;&gt;#TCP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TLS&quot; title=&quot;#TLS&quot;&gt;#TLS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23DNS&quot; title=&quot;#DNS&quot;&gt;#DNS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23HTTP&quot; title=&quot;#HTTP&quot;&gt;#HTTP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Postgres&quot; title=&quot;#Postgres&quot;&gt;#Postgres&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Linux%E5%86%85%E6%A0%B8&quot; title=&quot;#Linux内核&quot;&gt;#Linux内核&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Web%E6%80%A7%E8%83%BD&quot; title=&quot;#Web性能&quot;&gt;#Web性能&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;&lt;br /&gt;这是一个交互式可视化网站，以旧金山咖啡店一次点击购买为起点，逐帧追踪HTTP请求在211.4毫秒内穿越北美大陆的完整生命周期。从触摸板电容变化到屏幕像素刷新，文章以精确的时间轴拆解了硬件中断、浏览器事件循环、DNS解析、TCP/TLS握手、内核网络栈、Node.js事件循环、Postgres事务提交、光纤传输、Wi-Fi重传、GPU渲染等每个环节，揭示了&quot;冷启动&quot;请求中60%时间消耗在握手、35%在传输、而服务器实际计算仅占1.4%的惊人事实。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;&lt;br /&gt;1. 一次点击触发7层软件栈（触摸板→HID→窗口服务器→Chrome→渲染器→JavaScript→fetch）才发出第一个字节，而电容变化到网络请求离开仅需5毫秒&lt;br /&gt;2. DNS查询通过UDP在2毫秒内完成，依赖Anycast路由将请求导向最近的解析器；TLS 1.3将握手从2个RTT压缩到1个，但仍需127毫秒建立加密隧道&lt;br /&gt;3. 4,700公里光纤需6次穿越大陆，每次31毫秒；Wi-Fi碰撞重传仅需1.2毫秒，却足以容纳整个Postgres查询往返（0.35毫秒）&lt;br /&gt;4. 服务器端50微秒内完成从网卡DMA→NAPI轮询→TCP重组→epoll唤醒→Node.js读取→TLS解密→HTTP解析→路由到handler的全流程&lt;br /&gt;5. Postgres通过连接池、预编译语句和WAL组提交将INSERT优化至2.1毫秒，fsync强制刷盘是唯一的同步阻塞点&lt;br /&gt;6. 响应返回后，Chrome还需经历kqueue唤醒、TLS解密、React重渲染、样式计算、布局、绘制、合成，最终等待4.4毫秒VSync才显示&quot;Order confirmed&quot;&lt;br /&gt;7. 第二次&quot;热请求&quot;可复用TCP连接和TLS会话票证，将耗时从211毫秒降至约95毫秒，节省的116毫秒全是首次建立的连接成本&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://200ms.thenodebook.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://200ms.thenodebook.com/&quot;&gt;https://200ms.thenodebook.com/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://200ms.thenodebook.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A single HTTP request, traced in real time through DNS, TCP, TLS, the kernel, Node&apos;s event loop, and Postgres — then back to the pixel. Scroll distance equals time.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;The Nodebook&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;200 Milliseconds — the complete life of one HTTP request, visualized&quot; src=&quot;/static/https://cdn4.telesco.pe/file/t14I1JhXbyzPs7gW4Yn8zJrTsax5z-Qb3M9gn0ONO53sIhEFWNIdP7_FhiW_o9ERCu-nSn5dK1SLk_9hkMfrB9pv93oWF6rcqg4vWWyrZ-HqQ3QZLy9hSlzkaqJxBenvOvKXT3Ew3A8HJnaEG7XJDmFA6OMVe5KIeM9Xw0nQNXUyRqCkYsGcmEopxeUxp6vBfTOe-9vyA9HG1JaewSc0SD7AsIHV9gpUaBjXqHvPTxfe457Yh3t_UK7DFhn9O9rZwEc8u3MMzQsQOBHZNMEdH0bAF8QztT4BkTRcLD8x-YzCWrTadmhslK12wNVgsmPJ_HQ3RceRazGqAGbaYdT-7w.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;200 Milliseconds — the complete life of one HTTP request, visualized&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;A single HTTP request, traced in real time through DNS, TCP, TLS, the kernel, Node&apos;s event loop, and Postgres — then back to the pixel. Scroll distance equals time.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>