什么是 HTTP?
HTTP 代表 Hyper Text Transfer Protocol(超文本传输协议)
WWW 是关于网页 客户端 和 服务器 之间的通信
客户端计算机和 Web 服务器之间的通信通过发送 HTTP 请求 和接收 HTTP 响应 来完成
万维网通信
万维网是关于网页 客户端 和网页 服务器 之间的通信。
客户端 通常是浏览器(Chrome、Edge、Safari),但它们可以是任何类型的程序或设备。
服务器 通常是云中的计算机。
网页客户端
云
网页服务器
HTTP 请求/响应
客户端和服务器之间的通信通过 请求 和 响应 来完成
- 客户端(浏览器)向 Web 发送 HTTP 请求
- 网页服务器接收请求
- 服务器运行一个应用程序来处理请求
- 服务器将 HTTP 响应(输出)返回给浏览器
- 客户端(浏览器)接收响应
HTTP 请求循环
典型的 HTTP 请求/响应循环
- 浏览器请求一个 HTML 页面。服务器返回一个 HTML 文件。
- 浏览器请求一个样式表。服务器返回一个 CSS 文件。
- 浏览器请求一个 JPG 图片。服务器返回一个 JPG 文件。
- 浏览器请求 JavaScript 代码。服务器返回一个 JS 文件
- 浏览器请求数据。服务器返回数据(以 XML 或 JSON 格式)。
XHR - XML Http Request(XML HTTP 请求)
所有浏览器都内置了 XMLHttpRequest 对象 (XHR)。
XHR 是一个 JavaScript 对象,用于在 Web 浏览器和 Web 服务器之间传输数据。
XHR 通常用于请求和接收数据,以修改网页。
尽管名称中包含 XML 和 Http,但 XHR 也用于 HTTP 之外的其他协议,并且数据可以是多种不同类型,例如 HTML、CSS、XML、JSON 和纯文本。
XHR 对象是 Web 开发人员的梦想,因为它可以
- 更新网页,而无需重新加载页面
- 在页面加载后请求服务器数据
- 在页面加载后接收服务器数据
- 在后台向服务器发送数据