Skip to content

HTTP客户端、浏览器与搜索引擎 ​

元信息 ​

  • 目标:借"能力阶梯"(收数据→解析→执行 JS→渲染)区分命令行客户端、爬虫、无头浏览器与浏览器,由此真正抓住"前端"的定义——前端技术只在阶梯顶端那一格被执行
  • 关键概念:HTTP客户端、能力阶梯、爬虫、抓取与爬取(scraping/crawling)、搜索引擎、无头浏览器、渲染、SEO、语义搜索
  • 关联阶段:cp1
  • 常见误区:以为所有 HTTP 客户端都会"显示"网页(curl 只收字节流,渲染是浏览器独有的能力);以为爬虫和浏览器看到的是同一个页面(爬虫解析不渲染,执行 JS 的程度也不同);以为 SEO 靠堆砌关键字(其技术底座是规范的语义标记)

采用 HTTP 协议与 Web 服务器通讯的软件,统称 HTTP 客户端。但同样是"发请求、收响应",不同客户端拿到响应之后做的事差别巨大——这正是理解"什么是前端"的钥匙:前端技术,就是只有浏览器那一类客户端才执行的技术。

能力阶梯 ​

把任意一个 URL 交给不同的客户端,它们走的是同一条处理流程,差别只在流程的长短——各自走到某一步就停下来:

把视角换到客户端与服务端的交互:能力阶梯交互图——四种客户端与服务器走的是完全相同的请求/响应,服务器返回同一份 HTML 字节流;差别只在收到字节流之后各自走多远。

把"各自走到哪一步"汇总成一张表,就是一条清晰的能力阶梯:

客户端接收数据解析理解内容执行 JS渲染呈现
命令行客户端(curl)✔✘✘✘
爬虫 / 搜索引擎✔✔少数✘
无头浏览器 headless browser✔✔✔✘(不输出到屏幕等外设)
浏览器✔✔✔✔
  • 只将响应当作字节流存下来,是命令行客户端
  • 能将 Web 页面解析为内存里的数据结构、进行分析和排序,但不渲染为可视的图像或可听的语音,就有了爬虫、搜索引擎与无头浏览器
  • 在此之上还能解析、执行 html/css/javascript 并渲染到屏幕,才称得上 Web 浏览器

阶梯越往上,软件越复杂;而 html/css/js 之所以叫"前端"语言,是因为它们只在阶梯顶端那一格被解释执行。

命令行客户端 ​

最小、最纯粹的 HTTP 客户端,调试接口、理解协议的第一工具。

爬虫与搜索引擎 ​

基于上述各种客户端编写的、用于批量抓取数据的软件,统称爬虫; 英语资料把"爬虫"干的活分成两个词:scraping(抓取一个页面)与 crawling(爬取一个站点)。中文口语里两者都叫"爬虫",但目的不同:

抓取(scraping)爬取(crawling)
对象一个或少数几个页面整个站点的页面
目的从页面里提取数据,如价格、标题、表格发现页面并把站点走遍,为建索引做准备
做法直接请求已知的 URL,解析收到的响应从入口页出发,解析页面里的链接,访问新页面,再解析新页面里的链接,像滚雪球一样扩大
典型场景比价、数据分析、内容采集搜索引擎、全站备份

一句话:抓取是"我要这一页上的数据",爬取是"我要把整个站点走一遍"。爬取的过程里通常包含抓取——走到的每一页都要解析一遍,才知道里面还有哪些链接可走。

实训:curl 收发报文里用 curl 请求 httpbin 的一个地址,相当于最小规模的抓取;搜索引擎的 spider(派出去的爬虫程序)走遍全网建索引,则是最大规模的爬取。

搜索引擎与SEO ​

搜索引擎则是爬虫 + 内容理解 + 排序检索的完整系统。它读取网页,对其进行解析、分类和排序,但并不渲染为可视的图像或可听的语音——目的是分析和理解网页中的内容,而不是如浏览器那样充当媒体代理或翻译。

语义搜索引擎与AI ​

传统的搜索引擎是基于关键字的比较和分析,而下一代语义搜索引擎是对语义的分析和理解,能理解自然语言,这就是RAG、大语言模型LLM(如deepseek、千问等)。

相应地,在新一代互联网,也有了AEO、GEO等新型优化与业务模型:

https://www.ruciai.com/blog/the-differences-between-seo-and-ai-seo-and-geo

传统的搜索引擎是基于关键字比对,目标网页中一定会出现关键字,但语义引擎则不一定。

对站点的启示:想让爬虫"看懂",靠的是规范的语义标记(见语义标记)——搜索引擎优化的技术底座,正是第 2 周讲的 HTML 语义化。

无头浏览器 ​

阶梯再上一格是无头浏览器(headless browser):像浏览器一样解析、执行 JS,也能把页面渲染成内存中的页面树,只是不输出到屏幕等外设——"头"指显示设备,无头即无输出。没有界面,却是自动化测试、爬虫、AI 生成界面验证的主力工具——浏览器能力与"给人看"彻底解耦的形态。

命令行浏览器 ​

在终端里渲染网页的浏览器,是"渲染"与"图形界面"两件事相互独立的活证据:

演示与课后复现见BBS 与文本浏览器。

桌面浏览器 ​

常用的chrome、firefox、edge、IE等浏览器。支持全部功能

ai时代,又有所谓的agent 浏览器,它的用户不再是人类,而是机器,所以又回到了无头浏览器

小结 ​

从 curl 到浏览器,走的是同一条处理流程,差别只在流程走多远——理解到哪一层、呈现给谁。前端开发的全部技术都活在阶梯顶端那一格;而理解了整条阶梯,也就理解了为什么同一份 HTML,在人、爬虫和屏幕阅读器眼里是三个不同的东西。