我知道api是一个应用程序编程接口,这意味着它是两个或多个程序或应用程序之间的接口,它允许通过请求和响应在它们之间进行通信。
通常,当人们提到api时,他们会想到第三方api,比如用于获取天气或货币兑换的api,这些api通常会以JSON或XML等格式返回数据。但是,如果我错了,请纠正我,但是客户端或前端如何与服务器或后端交互也被认为是api,对吗?例如,当我在webapp上提交一个表单作为get请求时,url会发生变化,添加参数,基本上我的web应用程序或服务器的api会处理特定的url或api端点,并会返回一个响应,比如呈现网页或返回视图。
我的问题是,我对此的理解是正确的吗?如果我的web应用程序的前端和后端之间的这种交互方式被认为是api,并且假设它符合RESTful约束,那么它是否被认为是restful的,尽管它不像JSON那样返回原始数据,而是使用html css JavaScript呈现一个网页作为响应?或者,如果它符合约束,并且只返回原始RESTful或类似的数据格式,那么它只是一个JSON吗?
发布于 2020-01-02 09:22:07
API是一个可怕的术语--我认为它在这里造成了一些混乱。
首先是直接的--是的,restful api可以‘返回一个页面’作为响应--但是你误解了网页是如何呈现的。
Web浏览器“渲染”网页。当你输入https://youtube.com时,它们从网络服务器接收的只是文本/html格式的数据,然后由浏览器以它喜欢的任何方式进行解释/使其看起来美观。通过http请求发送一个text/html文件和一个json文件实际上并没有太大的区别术语“原始”数据在这里没有任何意义所有的数据在传输过程中都是原始数据。
发布于 2020-01-02 11:23:16
REST是塑造万维网的架构约束的集合。
在某种意义上,REST的原始形式是返回带有CSS和javascript链接的HTML。
Stefan Tilkov的2014 talk介绍了资源的HTML表示的一些优点。另请参见Jon Moore 2010。
https://stackoverflow.com/questions/59557266
复制相似问题