让我们从定义您问题中的所有术语开始,因为它有点到处都是。
HTTP(超文本传输协议):允许您通过网络传输数据。您的浏览器将使用 HTTP 向您的 Web 服务执行请求。
服务:执行特定任务的任何软件。我们对 Web 服务感兴趣,该服务通常通过 HTTP 调用,但也可以是其他任何东西,例如 Linux 信号。
现在,让我们假设它侦听 HTTP。
API(应用程序编程接口):您的软件的所有客户端都必须遵守的接口才能使用它。例如,在我们的 Web 服务中,我们可以指定一个 API,以便请求遵循某种约定。
现在让我们把它们放在一起。
您正在创建一个想要计算两个数字之和的网站。首先,用户将访问http://yoursite.com,然后浏览器将始终在端口 80 上向域 yoursite.com 发出 HTTP 请求。这将访问您的托管站点或某些后端服务器。
如果您使用 GitHub 页面之类的东西来提供静态内容,或者您有一些服务器(即 serverd)可以加载文件并提供它,那么您可以在这里选择。
所以现在网络浏览器发出了一个 HTTP 请求,您的网页应该加载一个 index.html。用户现在可以点击按钮,一切看起来都很好,直到他们按下Calculate——现在会发生什么?
我们想将计算卸载到我们的后端。我们向后端服务器执行 HTTP 请求。我们可以定义一个 API,在我们的例子中是一个端点,以便 HTTP 请求可以访问它,它会返回两个数字的总和。
我们如何返回结果?我们需要以某种方式表示数据,这可以通过编码为 JSON 或 XML 的主体负载来完成。同样,这是一种序列化格式,可以以各种不同的方式对其进行编码。 JSON 很好,因为您可以在客户端使用 JavaScript 轻松解析它。
太棒了——所以现在我们有了一个完整的网站并且它可以工作了!现在我们可以根据我们的设置端点从浏览器直接向后端发出 HTTP 请求,它应该满足我们的请求。请注意我们现在如何在我们的站点内使用来自后端服务器的 API。
您可能会遇到的其他关键字:CORS、AJAX、Apache Server;祝你好运!