Glossary
78 terms from "HTTP:请求与响应入门." Look them up when you get stuck; the first mention in the text carries a hover definition.
| Term | Definition | Source |
|---|---|---|
| HTTP | 超文本传输协议,一种应用层协议,用于在客户端和服务器之间获取 HTML 文档等资源。 | MDN: Overview of HTTP |
| 浏览器(客户端) | 用户代理程序,向服务器发送 HTTP 请求,并把返回的响应渲染成网页。 | MDN: Overview of HTTP |
| 服务器 | 监听 HTTP 请求并发回响应的程序或机器,通常会先处理被请求的资源。 | MDN: Overview of HTTP |
| URL | 统一资源定位符;一个网址,标识要联系的服务器以及要向它索取的资源。 | MDN: Overview of HTTP |
| scheme | URL 最前面、`://` 之前的那一段,指明要使用哪个协议,通常是 HTTPS 或 HTTP。 | MDN: What is a URL? |
| HTTPS | HTTP 的加密版本,用 TLS 加密客户端与服务器之间的全部通信。 | MDN: HTTPS (glossary) |
| 端口 | 服务器上带编号的接入「门」;HTTP 默认 80,HTTPS 默认 443,因此平时省略不写。 | MDN: What is a URL? |
| 查询字符串 | URL 中 `?` 之后的全部内容,携带键值参数,供服务器在返回资源之前使用。 | MDN: What is a URL? |
| fragment | URL 中 `#` 之后的全部内容,相当于资源内部的书签;它从不发给服务器。 | MDN: What is a URL? |
| 资源 | URL 所指的那个东西:一个 HTML 页面、一张图片、一份样式表或一段 JSON 数据。 | RFC 9110: HTTP Semantics |
| 源服务器 | 拥有某个资源、并代表它作答的那台机器。 | RFC 9110: HTTP Semantics |
| 往返 | 一条请求去、一条响应回,合起来的这一对;它的耗时是页面请求条数值得关心的原因。 | MDN: Redirections in HTTP |
| HTTP 请求 | 客户端发给服务器的消息,请求它对某个资源执行一个动作。 | RFC 9110: HTTP Semantics |
| HTTP 响应 | 服务器收到请求后发回客户端的消息,包含状态码,通常还带有响应体。 | RFC 9110: HTTP Semantics |
| HTTP 方法 | 请求行中的一个词,表示客户端希望服务器执行的动作,例如 GET 或 POST。 | MDN: HTTP request methods |
| 请求行 | 请求的第一行,依次写着方法、请求目标和协议版本。 | MDN: HTTP messages |
| 请求目标 | 请求行里的第二个位置,由路径加上查询字符串组成,在方法之后、协议版本之前。 | MDN: HTTP messages |
| GET | 请求某个资源表示的 HTTP 方法;它只应当用于获取数据,不应携带请求体。 | MDN: GET request method |
| POST | 向服务器提交数据的 HTTP 方法,常会引起状态变化或副作用。 | MDN: POST request method |
| PUT | 用请求体的内容整体替换目标资源的 HTTP 方法;它是幂等的但不安全。 | MDN: HTTP request methods |
| DELETE | 请求删除目标资源的 HTTP 方法;它是幂等的但不安全。 | MDN: HTTP request methods |
| 安全 | 方法的一项性质:只读,不应当改变服务器上的任何东西;GET 和 HEAD 安全,POST 不安全。 | MDN: HTTP request methods |
| 幂等 | 方法的一项性质:重复执行多次,最终结果与执行一次相同;GET、PUT、DELETE 幂等,POST 不幂等。 | MDN: HTTP request methods |
| 可缓存 | 方法的一项性质:它的响应可以被存下来重复使用;GET 默认可缓存,POST 只在特定条件下可缓存。 | MDN: HTTP request methods |
| 语义 | 关于「意思」的约定;方法的安全、幂等、可缓存三项性质属于语义,而不是网络会强制执行的能力。 | MDN: HTTP request methods |
| 请求头 | 请求行之后的元数据行,每行一条,用冒号分隔名字和值,向服务器补充关于这次请求的信息。 | MDN: HTTP messages |
| Host | 请求头,告诉服务器这个请求属于哪个域名。 | MDN: HTTP messages |
| User-Agent | 请求头,告诉服务器是哪个浏览器(或哪个程序)在发问。 | MDN: HTTP messages |
| Content-Type | 描述消息体格式的头部,说明接收方该按什么格式来解析它;请求和响应上都可以出现。 | MDN: HTTP messages |
| Content-Length | 说明消息体有多少字节的头部,接收方据此知道要读多少。 | MDN: HTTP messages |
| 请求体 | 跟在请求头之后、用一个空行隔开的数据部分;POST 携带它,GET 通常不带。 | MDN: HTTP messages |
| Set-Cookie | 响应头,要求浏览器存下一个值,并在后续请求里带回来。 | MDN: Using HTTP cookies |
| Cookie | 请求头,浏览器用它把此前存下的 cookie 值附回给服务器。 | MDN: Using HTTP cookies |
| Domain | cookie 的属性之一,与 Path 一起界定这条 cookie 会被发往哪些 URL。 | MDN: Using HTTP cookies |
| 状态行 | 响应的第一行,依次写着协议版本、状态码和原因短语。 | MDN: HTTP messages |
| 状态码 | 状态行开头的三位数,是服务器对这次请求给出的标准化结论。 | MDN: HTTP response status codes |
| 原因短语 | 状态码后面那句简短的人类可读标签,例如 `OK`;它只是提示,真正起作用的是数字。 | MDN: HTTP messages |
| 2xx | 成功类状态码;表示这次 HTTP 事务完成了——消息送到、被理解、被回答。 | MDN: HTTP response status codes |
| 3xx | 重定向类状态码;表示资源换了位置,浏览器该去 Location 头指的那个 URL。 | MDN: HTTP response status codes |
| 4xx | 客户端错误类状态码;服务器收到了请求,但因为请求本身有问题而无法完成。 | MDN: HTTP response status codes |
| 5xx | 服务器错误类状态码;服务器自身在处理请求时出了故障。 | MDN: HTTP response status codes |
| 200 OK | 表示请求成功的状态码;它默认是可缓存的。 | MDN: 200 OK |
| 响应头 | 响应中描述这个回答的元数据行,例如 Content-Type、Location、Set-Cookie、Cache-Control。 | MDN: HTTP messages |
| Location | 出现在重定向响应上的响应头,装着接下来要去的那个 URL。 | MDN: Redirections in HTTP |
| Cache-Control | 响应头,说明这个响应是否可以被重复使用、可以用多久。 | MDN: HTTP caching |
| 私有缓存 | 只服务一个客户端的缓存,通常就是浏览器自己的缓存。 | MDN: HTTP caching |
| 共享缓存 | 待在客户端与服务器之间的缓存,可以用同一份存下来的副本服务很多用户。 | MDN: HTTP caching |
| no-store | Cache-Control 指令,连副本都不许留。 | MDN: HTTP caching |
| no-cache | Cache-Control 指令:允许存储,但要求在重用存下来的东西之前先跟服务器核对一次。 | MDN: HTTP caching |
| 校验 | 重用缓存副本之前先跟服务器核对一次是否仍然有效的过程。 | MDN: HTTP caching |
| 304 Not Modified | 校验时最省的那种回答:不带响应体,只说一句「你手上那份还有效」。 | MDN: HTTP caching |
| 204 No Content | 没有响应体的成功状态码,因为状态码和响应头已经把答案说完了。 | MDN: HTTP messages |
| 响应体 | 响应头之后携带的数据本身:HTML、图片、JSON 或其他内容。 | MDN: HTTP messages |
| 开发者工具 | 浏览器内置的一套调试工具,也叫 DevTools,其中包含 Network 面板。 | Chrome DevTools: Inspect network activity |
| Network 面板 | 开发者工具中的面板,把工具打开期间浏览器发出的每一条请求都记录下来。 | Chrome DevTools: Network panel overview |
| Initiator | Network 面板的一列,指出是什么引起了这条请求:解析 HTML 的解析器、另一段脚本,还是一次重定向。 | Chrome DevTools: Network panel overview |
| disk cache | 浏览器用自己的缓存作答时,Size 列显示的字样,表示这一趟根本没上网。 | MDN: HTTP caching |
| Preserve log | Network 面板的开关,打开后跳转之前的请求会留在列表里而不是被清空。 | Chrome DevTools: Inspect network activity |
| 文档请求 | 页面加载的第一条请求,Type 通常是 `document`,它的响应体就是 HTML 页面本身。 | Chrome DevTools: Network panel overview |
| 子资源 | 文档之外的那些请求:样式表、脚本、图片、字体,浏览器读完 HTML 后才发现需要它们。 | MDN: Overview of HTTP |
| 瀑布图 | Network 面板的一列,每条请求一根横条,显示它何时开始、花了多久。 | Chrome DevTools: Network panel overview |
| 关键渲染路径 | 把 HTML、CSS、JavaScript 变成屏幕像素的那段有定义的步骤序列。 | MDN: Critical rendering path |
| 首次绘制 | 浏览器第一次把内容画到屏幕上的时刻;落在关键渲染路径上的资源会拖住它。 | MDN: Critical rendering path |
| 依赖 | 一条请求必须等另一条的结果才能被发出的关系;它表现为瀑布图里晚起的横条。 | Chrome DevTools: Network panel overview |
| 404 Not Found | 客户端错误状态码,表示服务器找不到被请求的资源。 | MDN: 404 Not Found |
| 403 Forbidden | 客户端错误状态码:服务器听懂了这个请求,但拒绝处理它,拒绝的依据是应用自己的逻辑,比如权限不够。 | MDN: 403 Forbidden |
| 401 Unauthorized | 客户端错误状态码,表示这次请求缺少有效的身份认证;去认证就是解法。 | MDN: 403 Forbidden |
| 500 Internal Server Error | 服务器错误状态码,那句通用的「我们这边出错了」。 | MDN: 500 Internal Server Error |
| 301 Moved Permanently | 永久重定向状态码;爬虫会更新自己存的 URL。对 GET 不变,但其他方法可能被改写成 GET。 | MDN: Redirections in HTTP |
| 302 Found | 临时重定向状态码;爬虫保留原来那个 URL。和 301 一样,其他方法可能被改写成 GET。 | MDN: Redirections in HTTP |
| 307 Temporary Redirect | 临时重定向状态码,明确保证方法和请求体都不改。 | MDN: Redirections in HTTP |
| 308 Permanent Redirect | 永久重定向状态码,明确保证方法和请求体都不改。 | MDN: Redirections in HTTP |
| 303 See Other | 重定向状态码,故意把其他方法改成 GET,好让 POST 之后刷新页面不会把操作再触发一遍。 | MDN: Redirections in HTTP |
| CORS | 跨源资源共享;一套基于头部的机制,服务器用它告诉浏览器哪些其他源可以加载它的响应。 | MDN: Cross-Origin Resource Sharing (CORS) |
| 同源策略 | 浏览器对由脚本发起的跨源请求施加的限制;CORS 就是用来有条件放宽它的机制。 | MDN: Cross-Origin Resource Sharing (CORS) |
| Access-Control-Allow-Origin | 响应头,声明哪个源被允许读取这个响应;它没放行时浏览器就把响应扣下来。 | MDN: Cross-Origin Resource Sharing (CORS) |
| 预检请求 | 对某些跨源请求,浏览器先发的一次 OPTIONS 探问,问真正那条请求会不会被允许。 | MDN: Cross-Origin Resource Sharing (CORS) |
| TLS | 加密客户端与服务器之间通信的协议层;HTTPS 就是裹在 TLS 里的 HTTP。 | MDN: HTTPS (glossary) |