来源

S1 — MDN: Overview of HTTP

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Overview

  • authority: official-docs
  • supports: 界定 HTTP 是一种用于获取资源的客户端-服务器协议,并说明浏览器与服务器通过交换请求和响应来通信。
  • key-fact: "HTTP is a protocol for fetching resources such as HTML documents. It is the foundation of any data exchange on the Web and it is a client-server protocol, which means requests are initiated by the recipient, usually the Web browser."

S2 — RFC 9110: HTTP Semantics

URL: https://www.rfc-editor.org/rfc/rfc9110.html

  • authority: official-docs
  • supports: 定义核心的请求/响应模型、方法、状态码与头部字段。
  • key-fact: "Each message is either a request or a response. A client constructs request messages that communicate its intentions and routes those messages toward an identified origin server. A server listens for requests, parses each message received, interprets the message semantics in relation to the identified target resource, and responds to that request with one or more response messages."

S3 — MDN: HTTP messages

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Messages

  • authority: official-docs
  • supports: 描述 HTTP 请求和响应的结构,包括起始行、头部和消息体。
  • key-fact: "HTTP messages are the mechanism used to exchange data between a server and a client in the HTTP protocol. There are two types of messages: requests sent by the client to trigger an action on the server, and responses, the answer that the server sends in response to a request."

S4 — MDN: GET request method

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods/GET

  • authority: official-docs
  • supports: 界定 GET 为获取资源的方法。
  • key-fact: "The GET HTTP method requests a representation of the specified resource. Requests using GET should only be used to request data and shouldn't contain a body."

S5 — MDN: POST request method

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods/POST

  • authority: official-docs
  • supports: 界定 POST 为向服务器提交数据的方法。
  • key-fact: "The POST HTTP method sends data to the server. The type of the body of the request is indicated by the Content-Type header."

S6 — MDN: HTTP response status codes

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status

  • authority: official-docs
  • supports: 定义状态码的五个类别及各类别的含义。
  • key-fact: "HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes: Informational responses (100 – 199), Successful responses (200 – 299), Redirection messages (300 – 399), Client error responses (400 – 499), Server error responses (500 – 599)."

S7 — MDN: 200 OK

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/200

  • authority: official-docs
  • supports: 界定 200 OK 状态码表示请求成功的响应。
  • key-fact: "The HTTP 200 OK successful response status code indicates that a request has succeeded. A 200 OK response is cacheable by default."

S8 — MDN: 404 Not Found

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/404

  • authority: official-docs
  • supports: 界定 404 Not Found 状态码属于客户端错误。
  • key-fact: "The HTTP 404 Not Found client error response status code indicates that the server cannot find the requested resource."

S9 — MDN: 500 Internal Server Error

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/500

  • authority: official-docs
  • supports: 界定 500 Internal Server Error 状态码属于服务器错误。
  • key-fact: "The HTTP 500 Internal Server Error server error response status code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request."

S10 — Chrome DevTools: Inspect network activity

URL: https://developer.chrome.com/docs/devtools/network

  • authority: official-docs
  • supports: 说明如何打开 Network 面板,以及如何检查单条请求和响应。
  • key-fact: "The Network panel logs all network activity in the Network Log. Each row of the Network Log represents a resource... Click a resource to learn more information about it. The Headers tab is shown. Use this tab to inspect HTTP headers."

S11 — Chrome DevTools: Network panel overview

URL: https://developer.chrome.com/docs/devtools/network/overview

  • authority: official-docs
  • supports: 描述 Network 面板的默认列与请求详情。
  • key-fact: "The Requests table displays the following columns by default: Name, Status, Type, Initiator, Size, and Time."

S12 — MDN: What is a URL?

URL: https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_URL

  • authority: official-docs
  • supports: 逐一命名 URL 的各个部分——scheme、authority(域名与端口)、路径、参数、锚点,并说明哪些部分会到达服务器。
  • key-fact: "It is worth noting that the part after the #, also known as the fragment identifier, is never sent to the server with the request." And: "The port indicates the technical "gate" used to access the resources on the web server. It is usually omitted if the web server uses the standard ports of the HTTP protocol (80 for HTTP and 443 for HTTPS)."

S13 — MDN: HTTP request methods

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods

  • authority: official-docs
  • supports: 列出各请求方法,并按安全、幂等、可缓存三项性质分类。
  • key-fact: "Each request method has its own semantics, but some characteristics are shared across multiple methods, specifically request methods can be safe, idempotent, or cacheable." The table marks GET safe/idempotent/cacheable, PUT and DELETE not safe but idempotent, and POST neither safe nor idempotent.

S14 — MDN: Redirections in HTTP

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Redirections

  • authority: official-docs
  • supports: 说明 3xx 响应加 Location 头如何工作,并按「是否永久」和「方法是否保留」区分 301、302、307、308。
  • key-fact: "Redirect responses have status codes that start with 3, and a Location header holding the URL to redirect to. When browsers receive a redirect, they immediately load the new URL provided in the Location header. Besides the small performance hit of an additional round-trip, users rarely notice the redirection." The tables state 301/302 leave GET unchanged but "others may or may not be changed to GET", while 307 and 308 keep "Method and body not changed".

S15 — MDN: HTTP caching

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching

  • authority: official-docs
  • supports: 区分私有缓存与共享缓存,并说明 no-cache 是强制校验而不是禁止存储。
  • key-fact: "If you do not want a response to be reused, but instead want to always fetch the latest content from the server, you can use the no-cache directive to force validation... the client will receive a 200 OK response if the requested resource has been updated, or will otherwise receive a 304 Not Modified response if the requested resource has not been updated."

S16 — MDN: Cross-Origin Resource Sharing (CORS)

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS

  • authority: official-docs
  • supports: 说明 CORS 是叠加在同源策略之上、由浏览器执行的基于头部的机制,并介绍预检请求。
  • key-fact: "Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources... For security reasons, browsers restrict cross-origin HTTP requests initiated from scripts."

S17 — MDN: Using HTTP cookies

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Cookies

  • authority: official-docs
  • supports: 描述 Set-Cookie、Cookie 请求头,以及 Domain 与 Path 属性如何界定 cookie 被发往哪些 URL。
  • key-fact: "The Domain and Path attributes define the scope of a cookie: what URLs the cookies are sent to... If the Set-Cookie header does not specify a Domain attribute, the cookies are available on the server that sets it but not on its subdomains. Therefore, specifying Domain is less restrictive than omitting it."

S18 — MDN: 403 Forbidden

URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/403

  • authority: official-docs
  • supports: 界定 403,并把它与 401 和 404 区分开。
  • key-fact: "The HTTP 403 Forbidden client error response status code indicates that the server understood the request but refused to process it. This status is similar to 401, except that for 403 Forbidden responses, authenticating or re-authenticating makes no difference."

S19 — MDN: HTTPS (glossary)

URL: https://developer.mozilla.org/en-US/docs/Glossary/HTTPS

  • authority: official-docs
  • supports: 界定 HTTPS 是运行在 TLS 加密之上的 HTTP。
  • key-fact: "HTTPS (HyperText Transfer Protocol Secure) is an encrypted version of the HTTP protocol. It uses TLS to encrypt all communication between a client and a server."

S20 — MDN: Critical rendering path

URL: https://developer.mozilla.org/en-US/docs/Web/Performance/Guides/Critical_rendering_path

  • authority: official-docs
  • supports: 界定关键渲染路径是把 HTML、CSS、JavaScript 变成屏幕像素的步骤序列,这解释了为什么某些子资源会阻塞首次绘制。
  • key-fact: "The Critical Rendering Path is the sequence of steps the browser goes through to convert the HTML, CSS, and JavaScript into pixels on the screen. Optimizing the critical render path improves render performance."