超文本传输协议 (HTTP) 是一种用于传输超媒体文档的应用层协议。起初设计它的目的主要用于 Web 浏览器与 Web 服务器之间的通信,而现在它还可以用做其它目的。该协议遵循客户端-服务端模型,客户端打开连接,发送一个请求,然后等待接收服务器端的响应。HTTP 协议也是一个无状态协议,这就意味着服务并不能保留两个请求之间的数据(状态)。尽管 HTTP 协议通常是基于 TCP/IP 的,但它实际上可以在任何可靠的传输层协议上使用,所谓可靠的协议就是指那些不会隐式丢弃消息的协议,比如 UDP。

教程

通过以下指南和教程来学习如何使用 HTTP。

HTTP 概述
介绍了客户端-服务器端协议的基本特征:它能够做什么以及它的设计意图。
HTTP 缓存
缓存对高速 Web 站点来说是非常之重要的。这篇文章阐述了不同种类的缓存以及如何配置 HTTP 首部来控制它们。
HTTP Cookie
RFC 6265 定义了 cookies 是怎样工作的。 当接收到一个 HTTP请求时,服务器可以在响应中发送一个 Set-Cookie 首部字段。接着,对于同一台服务器发起的每一个请求,客户端都会在 HTTP 请求头中以字段 Cookie 的形式将 cookie 的值发送过去。 此外,还可以指定一个过期时间,也可以指定一个特定的域名和路径中使用。
HTTP 访问控制(CORS)
跨站 HTTP 请求就是从另一个域名,而不是资源所在的域名发起的 HTTP 请求。举例来说,在域名 A (http://domaina.example/) 的 HTML 页面上使用 img 元素 (<img src="http://domainb.foo/image.jpg">) 来请求域名 B (http://domainb.foo/) 上的图片资源。这在当前的 web 页面上很常见 —— 页面通过跨域规则加载 CSS 样式表,图片,脚本以及其他资源。
HTTP 的演变
简单描述了从早期版本的 HTTP 到现在的 HTTP/2 以及未来的 HTTP 这个过程中发生的变更。
Mozilla web 安全引导
一系列用于帮助运营团队创建安全的 Web 应用程序的提示。
HTTP 消息
描述了 HTTP/1.x 和 HTTP/2.x 中不同种类消息的类型和结构。
典型的 HTTP 会话
展现并解释了一个常见的 HTTP 会话流程。
HTTP/1.x中的连接管理
描述了在 HTTP/1.x 中的三种连接管理模型,以及它们的优势和劣势。

参考

浏览详细的 HTTP 参考文档。

HTTP 首部
HTTP 消息首部被用来描述资源信息,或是客户端和服务器的行为。自定义的专有首部可以加上 'X-' 前缀;  其他的可以在 IANA registry 找到,其原始定义在 RFC 4229。IANA 同时也维护着一份 registry of proposed new HTTP message headers
HTTP 请求方法
可以使用 HTTP: GETPOST 方法来完成不同操作,同时也有一些其他的方法,如 OPTIONSDELETE 和 TRACE
HTTP 状态返回码
HTTP 状态返回码用来表示指定的 HTTP 请求是否成功完成。响应被分为 5 种类型: 消息型响应,成功响应,重定向,客户端错误和服务器错误。
CSP 指令
Content-Security-Policy 响应头字段允许站点的管理者控制页面上哪些资源能够被用户代理程序加载。除了少数例外,此策略主要涉及源服务器和脚本终端。

工具与资源

有助于理解和调试 HTTP 连接的工具和资源。

Firefox 开发者工具
网络监视器
Mozilla Observatory

一个旨在帮助开发人员,系统管理员和安全专业人员安全地配置其网站的项目。

RedBot
检查 Cache 相关 HTTP 首部的工具.
浏览器的工作原理
一篇非常全面的关于浏览器内部实现与通过 HTTP 协议的请求流的文章。是所有 web 开发者的必读内容。

文档标签和贡献者

标签: 
 最后编辑者: xuxun,