Web Services 控制、更改、切换或操作服务器状态的Web服务端点的术语是什么?[已关闭]

nwwlzxa7  于 2023-02-16  发布在  其他
关注(0)|答案(1)|浏览(132)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

十小时前关门了。
Improve this question
我最初的想法是,类似于问题中描述的东西将被称为远程过程调用,广义上说,它仍然可能,但我试图找到更狭义的术语,以更好地研究任何API范式将适合。
例如,假设我在Web服务器/API上有以下内容:
1.可以以REST风格的方式公开CRUD操作的基本资源
1.在我的服务器上运行的随机数生成器的一个单体,我希望能够控制它的状态(seed/reseed)
如果没有与RNG操作相关的端点,这将是一个简单的REST API,但如果您希望一个公开端点的API也可以更改服务器的状态,那么该如何称呼它呢?
也许有个更好的例子:
如果一个API允许您在服务器位置打开和关闭一盏灯,您会叫它什么?
比如,如果您想控制服务器位置的某些东西,而不是检索或编辑数据?
很抱歉,如果这太宽泛了,我不能缩小搜索范围的原因是我不确定描述API的基本术语,这些API控制着它们在服务器上执行的东西。几乎所有可用的API信息都是针对RESTful API的。

gj3fmq9x

gj3fmq9x1#

好吧,我们有两个概念。
对网络服务器的某种API调用。
这可能是soap(现在不怎么用了),或者是一个简单的“端点”,它可能意味着(通常是)REST调用,或者更好的是所谓的“ AJAX ”调用。
JavaScript“ AJAX ”调用和REST调用之间没有太大的区别。REST调用建议您传递一个带有参数的URL,ajax调用是相同的事情,但我们在post请求中添加了/use/have头。
原来在普通的jane webforms中,一个标记为“Webmethod”的函数(或子函数)将开箱即用地支持上述所有3个函数(没有任何代码更改!!)。
因此,SOAP、REST或 AJAX 调用都得到了支持,而且通常不需要修改代码。因此,作为一个“通用”术语,我们可以应用/声明我们使用API --只是哪种类型。但是,甚至术语“端点”也可以在这里使用。
好了,现在我们已经把上面的路弄开了?
嗯,在网络世界里,你的代码和网页(通常)被认为是无状态的。
这意味着你有一个网页坐在你的电脑上。在另一端是一个网络服务器。它不维护你的代码背后的变量。他们只存在于所谓的往返。
所以,你点击网页上的一个按钮。(在这一点上,网络服务器并不关心你,或者说网站上的其他50个用户。网络服务器只是坐在那里-等待任何用户回发一个网页。
所以,并没有真正的“太多”服务器“状态”。换句话说,Web Land意味着服务器可以处理一个网页,但当完成时,该网页的所有状态、代码和变量都会被抛出(处置)。
因此,这表明,意味着,我们需要并希望在服务器端有某种类型的“系统”来持有,保持,维护“状态”。
所以,不要混淆简单的网页回发,或者某种网络“服务”调用,或者所谓的API。
“保存”数据(或用户状态)的问题?
这在许多方面是一个100%不同的主题和问题。
所以,当你说你想“改变”服务器上的某些东西时,那是针对所有用户的改变或信息,还是只针对当前用户?
例如,如果我们在亚马逊购物,那么所有的产品都要“容易”被所有用户看到和查看。
然而,你的订单只是给你的,因此信息“状态”仅限于你!!!
所以,我们不能只是说我们想改变服务器上的“某件事”,我们必须给予我们想要的“某件事”一些上下文。
由于web软件(在很大程度上)是我们所说的无状态的,那么保存用户的“状态”有很多选择,而且是一本书大小的主题。
但是,在服务器上“管理”这些“东西”的常用方法是:
一个数据库。这只是意味着我们可以根据你的登录ID或其他信息添加行。所以,明天你回来的时候,我们可以查询并拉取你的订单列表。
短期的州政府?
我们可以使用浏览器的“URL”并将值插入URL。(事实上,看看这篇文章的URL!!!-URL中有一个数字代表这篇文章!!!)
如果你说的是asp.net?,那么我们有客户端(浏览器)状态称为“视图状态”,还有服务器端状态称为“会话()"。
因此,有相当多的“状态”或方法的选择来保存东西,或改变服务器上的东西!因此,随着时间的推移,Web开发经验将允许您选择合适的“状态”系统来满足您的给定需求,这通常包括安全需求。
那么,Web API-上面列出的任何选择?
它们与你的第二个问题“改变”服务器上的信息没有真正的联系。一个简单的网页,或者某种API可以“改变”服务器上的东西,但是你想改变的东西的“状态”的上下文才是这里最重要的问题。
所有的网页选择--甚至一个简单的网页+提交按钮都可以“改变”服务器上的东西--这只是一个你想在服务器上改变什么的问题。还有一些花哨的API或“ AJAX ”或REST调用?在服务器端改变一些数据的能力真的没有什么不同--这一切都归结为你想改变什么。
因此,一些WEB API实际上与“状态”管理的第二部分,即服务器上的数据和东西的管理无关。
因此,一些Web API甚至是一个带有提交按钮的简单html页面都可以做同样的事情(更改服务器上的内容!)
所以,不确定是否真的有一个“术语”来表达你的要求。
你问我能不能改变服务器上的一些“东西”。问题就变成了你想如何以及在哪里保存这些“东西”。正如所指出的,那么这就归结为你对这样的“状态”有什么选择。
我还应该指出,我对状态管理这个术语有点“不太熟悉”,在网络圈子里,“状态管理”这个术语倾向于指当前用户+他们的网络浏览器,以及你如何管理那个网页中控件和值的“状态”。
因此,“状态”通常并不表示服务器上的任何信息,而是表示浏览器和当前用户上下文中值的“状态”。

然而,刚才已经说明了以上?所有的选择从简单的网页与简单的提交按钮,或一些花哨的裤子网络API代码?他们都仍然只能做相当多的相同的事情:
该“事情”是改变浏览器状态上的一些值和服务器上的值以允许给定软件操作。
是的,术语“远程过程”调用?虽然不是web开发中使用的术语,但那些web“API“可以被认为是一个“相似”的概念。你正在调用一个系统上的一些代码,而不是在你的桌面上。
因此,对于你所问的问题,并没有真正的“术语”。
你在问:
我可以在服务器上保存一些信息吗?该服务器的状态与您当前的桌面计算机相同。如果您关闭此浏览器,则此信息或帖子将不在您的桌面上,是吗?
所以,除了想要在服务器上“保存”一些数据之外,不知道一些“术语”。你不再修改远程Web服务器的状态,然后使用Word编辑计算机上的文档。
所以,就像在你的电脑上有字可以让你写和创建文档?
同样的道理也适用于服务器,我没有必要把在桌面上保存一个word文档称为在计算机上保存“状态”,但在某些方面,是的,它是,从那时起,明天你就可以回到桌面上重新打开那个文档。
网络服务器是如何工作的?其实是一样的。我们不会问是否可以改变服务器的状态,但会问如何保存服务器上的一些信息。
所以,不,没有一个“特定”的术语来描述你所问的。

相关问题