这篇文章需要技术复核。如何帮忙。

这篇文章需要文法复核。如何帮忙。

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

教程

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

HTTP 概述
介绍了客户-服务器端协议的基本特征:它能够做什么以及它的设计意图。
HTTP 演变
简单描述了 HTTP 协议从早期版本到现在的 HTTP/2 以及更新版本的发展过程中所发生的变化。
HTTP 消息
描述了 HTTP/1.x 和 HTTP/2.x 中不同种类消息的类型和结构。
一个典型的 HTTP 会话
展现并解释了一个常见的 HTTP 会话流程。
HTTP/1.x中的连接管理
描述了在HTTP/1.x中的三种连接管理模型,以及它们的优势和劣势。
HTTP Cache
缓存是搭建高性能网站的主要工具。这篇文章阐述了不同种类的缓存以及如何配置 HTTP 首部来控制它们。
HTTP Cookie
RFC 6265 定义了 cookies 是怎样工作的。 当接收到一个 HTTP请求时,服务器可以在响应中发送一个 Set-Cookie 首部字段。接着,对于同一台服务器发起的每一个请求,客户端都会在 HTTP 请求头中以字段 Cookie 的形式将 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 样式表, 图片, 脚本以及其他资源.
控制DNS预读取
Firefox 和大多数其他现代浏览器都提供了 DNS 预读取特性. 即对于用户可能点击的链接, 或文档中引用的图片, CSS 和 JavaScript 脚本, 浏览器会主动获取它们的域名解析消息. 这种预读取是在后台进行的, 因此当真正请求这些资源时,  其 DNS 信息往往已经解析完成了. 这会降低用户点击链接等操作时的延迟.

参考

浏览详细的 HTTP 参考文档。

HTTP 首部
HTTP 消息首部被用来精确描述资源信息, 或是客户端和服务器的行为. 自定义的专有首部可以加上 'X-' 前缀;  其他的可以在 IANA registry 找到, 其原始定义参见 RFC 4229. IANA 同时也维护着一份 registry of proposed new HTTP message headers.
HTTP 请求方法
可以使用 HTTP: GET, POST 方法来完成不同操作, 同时也有一些其他的方法, 如 OPTIONS, DELETE 和 TRACE.
HTTP 状态返回码
HTTP 状态返回码用来表示指定的 HTTP 请求是否成功完成. 响应被分为 5 种类型: 消息型响应, 成功响应, 重定向, 客户端错误和服务器错误.

工具与资源

使用和调试你的 HTTP 连接很有用的工具。

Firefox 开发者工具
网络监视器
RedBot
一个检查 Cache 相关的 HTTP 首部的工具.

文档标签和贡献者

标签: 
 此页面的贡献者: cissoid, TomasRan, DreamerKing, Ende93, ziyunfei
 最后编辑者: cissoid,