什么是 HTTP?

HTML

HTTP 代表 Hyper Text Ttransfer Protocol

WWW 是关于 web clientsservers

之间的通信

客户端计算机和 Web 服务器之间的通信是通过发送 HTTP 请求 和接收 HTTP 响应


万维网通信

万维网是关于网络客户端和网络服务器之间的通信。

客户端通常是浏览器(Chrome、Edge、Safari),但它们可以是任何类型的程序或设备。

服务器通常是云中的计算机。



Web Client

Cloud

Web Server

HTTP 请求/响应

客户端和服务器之间的通信由requestsresponses完成:

  1. 客户端(浏览器)向网络发送 HTTP 请求
  2. 网络服务器接收请求
  3. 服务器运行应用程序来处理请求
  4. 服务器向浏览器返回 HTTP 响应(输出)
  5. 客户端(浏览器)接收响应

HTTP 请求/响应循环

一个典型的HTTP请求/响应循环:

  1. 浏览器请求一个 HTML 页面。 服务器返回一个 HTML 文件。
  2. 浏览器请求样式表。 服务器返回一个 CSS 文件。
  3. 浏览器请求 JPG 图片。 服务器返回一个 JPG 文件。
  4. 浏览器请求 JavaScript 代码。 服务端返回一个JS文件
  5. 浏览器请求数据。 服务器返回数据(以 XML 或 JSON 格式)。

XHR - XML Http 请求

所有浏览器都有一个内置的 XMLHttpRequest 对象 (XHR)

XHR 是一个 JavaScript 对象,用于在网络浏览器和网络服务器之间传输数据。

XHR 通常用于请求和接收数据以修改网页。

尽管名称中有 XML 和 Http,但 XHR 与 HTTP 以外的其他协议一起使用,并且数据可以是许多不同的类型,例如 HTMLCSSXMLJSON 和纯文本。

XHR 对象是Web 开发人员的梦想,因为您可以:

  • 更新网页而不重新加载页面
  • 从服务器请求数据 - 在页面加载后
  • 从服务器接收数据 - 页面加载后
  • 将数据发送到服务器 - 在后台

XHR 对象是 AJAXJSON 的底层概念:

AJAX