rest - 跨多个组织的基于网络的长期应用程序在 REST 中意味着什么?
问题描述
我遇到了许多教程来了解 REST 的每一个细节。
我的理解 - REST 是基于网络的应用程序的架构风格(我的意思是服务器可用于客户端的服务,并且两者都基于网络相互通信)
我的理解是错误的吗?
根据 Roy T Fielding https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven#comment-742 ,跨多个组织的基于网络的长期应用程序到底意味着什么
我对长期存在的基于网络的应用程序这一术语感到困惑。
因此,如果我创建了一个遵循 REST 约束但在网络上不可用但可以在网络内访问的 API(例如,用于获取学校学生分数但在互联网上不可用的 API,只能在学校并通过 HTTP://SERVERIP 访问)-这不能是 REST API 吗?
解决方案
这不能是 REST API 吗?
不,没关系。
关键思想之一是:我们对客户端和服务器之间的自描述消息有一个商定的标准。对于 Web,该标准是 HTTP。HTTP(在大多数情况下;有关一些例外情况请参见第六章)旨在满足 REST 架构约束。因为我们有这个标准,我们可以通过反向代理(由 Apache Software Foundation 实现)将浏览器(由 Google 实现)指向 Web 服务器(由 Oracle 实现),这一切都“正常工作”。
如果你把这些碎片放到你控制的隔离网络上,它仍然“正常工作”。
通俗地说,长寿是什么意思,请...
罗伊将他的解释埋在评论中。
REST 是数十年规模的软件设计:每一个细节都旨在促进软件寿命和独立进化。
网络上的几乎所有东西都理解 HTTP/1.1 (1999),它建立在 HTTP/1.0 (1996) 的基础上,而 HTTP/1.0 (1991) 又建立在HTTP/0.9 (1991) 的基础上。
推荐阅读
- c# - 货币符号在错误的一边
- javascript - 单击其他页面链接时,React Router 会隐藏 App 内容
- android - 如何使用流 url 和用户代理调用 VLC 播放器意图
- python - 更改 Ray RLlib Training 的 Logdir 而不是 ~/ray_results
- kotlin - 了解 Kotlin 类型系统,`{Comparable<{ Double & Int }> & Number}` 的含义以及如何使用它
- android - 任务 ':app:mergeDebugResources' 执行失败。[string/com.crashlytics.android.build_id] 错误:资源重复
- git - Git推送上游分支跟踪
- django - 手动将文件传递给 Django 表单
- android - FAILURE: Build failed with an exception. (flutter)
- java - Java Audioclip: new AudioClip(s) with remote URL creates UI lags