Glossary

78 terms from "HTTP:请求与响应入门." Look them up when you get stuck; the first mention in the text carries a hover definition.

TermDefinitionSource
HTTP超文本传输协议,一种应用层协议,用于在客户端和服务器之间获取 HTML 文档等资源。MDN: Overview of HTTP
浏览器(客户端)用户代理程序,向服务器发送 HTTP 请求,并把返回的响应渲染成网页。MDN: Overview of HTTP
服务器监听 HTTP 请求并发回响应的程序或机器,通常会先处理被请求的资源。MDN: Overview of HTTP
URL统一资源定位符;一个网址,标识要联系的服务器以及要向它索取的资源。MDN: Overview of HTTP
schemeURL 最前面、`://` 之前的那一段,指明要使用哪个协议,通常是 HTTPS 或 HTTP。MDN: What is a URL?
HTTPSHTTP 的加密版本,用 TLS 加密客户端与服务器之间的全部通信。MDN: HTTPS (glossary)
端口服务器上带编号的接入「门」;HTTP 默认 80,HTTPS 默认 443,因此平时省略不写。MDN: What is a URL?
查询字符串URL 中 `?` 之后的全部内容,携带键值参数,供服务器在返回资源之前使用。MDN: What is a URL?
fragmentURL 中 `#` 之后的全部内容,相当于资源内部的书签;它从不发给服务器。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
Domaincookie 的属性之一,与 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-storeCache-Control 指令,连副本都不许留。MDN: HTTP caching
no-cacheCache-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
InitiatorNetwork 面板的一列,指出是什么引起了这条请求:解析 HTML 的解析器、另一段脚本,还是一次重定向。Chrome DevTools: Network panel overview
disk cache浏览器用自己的缓存作答时,Size 列显示的字样,表示这一趟根本没上网。MDN: HTTP caching
Preserve logNetwork 面板的开关,打开后跳转之前的请求会留在列表里而不是被清空。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)