跳转至

8.0 Communicating With A Server

High-level structure of HTTP requests and responses

HTTP 请求和响应遵循特定结构。请求通常包含方法字段(如 GETPOSTPUTDELETE)、URL、头部(header)和消息体(message body)。响应报告状态(如 200 表示成功,404 表示未找到),同样包含头部和消息体。在 JavaScript 中处理响应时,可以访问 statusstatusText 以及包含键值对的 header 等属性。请求的 readyState 属性描述了请求的进度。

How HTTP requests allow communication between the browser and server

浏览器作为客户端,发送 HTTP 请求到服务器。服务器接收请求、处理后生成响应并返回。这种请求-响应循环是浏览器与服务器之间进行信息交换的基础方式。HTTP 协议是无状态的(stateless),服务器在发送响应后不会保留该交换的信息。

Purpose of HTTP request methods

HTTP 定义了多种标准请求方法,用于指明客户端希望对服务器资源执行的操作类型:

  • GET:用于从服务器检索数据(如加载网页)。
  • POST:用于在服务器上创建或修改数据(如提交表单)。
  • PUT:用于替换服务器上的数据,必须是幂等的(idempotent)。
  • DELETE:用于删除服务器上的数据。

HTTP 方法字段本身只是字符串,具体含义由客户端和服务器约定。

The purpose of asynchronous communication and callbacks

JavaScript 支持异步操作,主要目的是防止浏览器在等待服务器响应时界面冻结或阻塞其他脚本的执行。通过异步方式发送请求,JavaScript 可以继续执行其他任务。回调函数(callback function)是实现异步通信的常见机制。例如,XMLHttpRequest 使用 onreadystatechangefetch API 使用 .then().catch()

Purpose and structure of an AJAX request

AJAX(Asynchronous JavaScript And XML)是一种方法或模式,不是单一技术。AJAX 的目的是通过向服务器发送异步 HTTP 请求,接收结构化数据(如 XML 或 JSON),用 JavaScript 解析并动态、部分地更新网页内容,无需重新加载整个页面。每次 AJAX 请求都是独立的异步 HTTP 交换,服务器返回的数据通常是结构化对象(如 JSON)。

Purpose of JSON

JSON(JavaScript Object Notation)主要用于存储和表示结构化数据,是一种轻量级的数据交换格式。JSON 是 JavaScript 与服务器之间传输数据的常用格式,比 XML 更简洁,支持数组,但不包含函数定义。接收到的 JSON 字符串可用 JSON.parse 转换为 JavaScript 对象,便于更新网页内容。