问题描述
我正在学习Web数据课程,所以我了解到,当我们想在浏览器上检索网页时,我们会使用诸如HTTP或https之类的通信协议进行请求响应周期,并且Web服务是一款软件,不知道它的存储位置或访问方式,因此我们可以使来自不同体系结构的两个应用程序使用XML或JSON之类的序列化语言进行通信,我不知道Web服务和http之间的区别是什么,它们都是连接方式2不同的计算机在一起,更让我感到困惑的是api,根据我所做的研究,它是用来访问Web服务的东西。
解决方法
让我们从定义问题中的所有术语开始,因为它遍地都是。
HTTP(超文本传输协议):允许您通过Web传输数据。您的浏览器将使用HTTP向您的Web服务执行请求。
服务:执行特定任务的任何软件。我们对通常通过HTTP调用的Web服务感兴趣,但是它可以是其他任何东西,例如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;祝你好运!