Restful api 可以返回页面作为响应吗?

She*_*hab 5 api rest web-applications http

据我所知,API 是一个应用程序编程接口,这意味着它\xe2\x80\x99 是两个或多个程序或应用程序之间的接口,它允许通过请求和响应在它们之间进行通信。

\n\n

通常,当人们说 api 时,他们会想到第三方 api,例如获取天气或货币兑换的 API,这些 API 通常会返回 JSON 或 XML 等数据。但是,如果 I\xe2\x80\x99m 错误,请纠正我,但客户端或前端如何与服务器或后端交互也被视为 api,对吧?例如,当我在 web 应用程序上提交表单作为 get 请求时,url 将更改添加参数,基本上我的 web 应用程序或服务器的 api 将处理特定的 url 或 api 端点,并返回一个响应,例如渲染网页或返回看法。

\n\n

我的问题是,我对此的理解是否正确,如果我的 Web 应用程序的前端和后端之间的这种交互方式被视为 api,并且假设它符合 RESTful 约束,那么它是否被认为是宁静的,尽管事实上它不\xe2\ x80\x99t 像 JSON 一样返回原始数据,而是使用 html css JavaScript 作为响应来呈现网页?或者,如果它符合约束并且只返回原始 JSON 或类似的数据格式(就像大多数供外部使用的第三方 API 那样),那么它只是一个 RESTful api 吗?

\n

小智 3

API 是一个糟糕的术语——我认为它在这里造成了一些混乱。

首先直接说 - 是的,restful api 可以“返回页面”作为响应 - 但您误解了网页的呈现方式。

Web 浏览器“呈现”网页。当您输入时,它们从网络服务器接收到的https://youtube.com只是文本/html 形式的数据,然后由浏览器以它喜欢的任何方式进行解释/使其看起来更漂亮。实际上,通过 http 请求发送文本/html 文件或 json 文件之间没有太大区别 - 术语“原始”数据在这里没有任何意义 - 所有数据在传输时都是原始数据。