gpt4 book ai didi

c# - 在 Web 上创建 API 意味着什么?

转载 作者:太空狗 更新时间:2023-10-29 22:17:12 26 4
gpt4 key购买 nike

我有一个用 ASP.NET MVC 构建的站点,并使用大量 jQuery 客户端交互来构建实时聊天室。许多用户解析了 javascript 并找到了它发布的 URL,以便与聊天进行交互。他们开始构建机器人以在聊天 channel 中玩游戏。

这些用户不断要求提供“API”,以便他们更轻松地进行编码。我以为我知道 API 是什么,但我觉得我还是有点模糊。 API 不是第三方可以与之交互的任何接口(interface)吗?

为我的网站构建网络 API 意味着什么?它只是一个包含 URL 列表以及如何与它们交互的文档吗?

我还听说过网络服务和网络引用。这些是什么?构建 Web 服务意味着什么?这与 Web 上的 API 有什么关系吗?

最佳答案

从字面上看,API 是“应用程序编程接口(interface)”。在最基本的层面上,它是为其他软件与其交互或通信而设计的任何界面。从某种意义上说,您打开的 URL 是 API。当然,作为用户界面的入口点通常不是很适合编写其他软件,因此虽然它们是 API,但它们可能不是非常好的 API,您可能会很快就会发现性能问题。

Web API 是在 Web 服务器上运行的应用程序的入口点,它允许其他工具以某种方式与该 Web 服务进行交互。将其视为软件的“用户界面”。但是,您的软件需要适当的安全性和访问控制。考虑速率限制,否则您可能会面临非常激进的机器人淹没您的服务器的风险。但是这种速率限制也需要存在于人类的用户界面中,否则有人会简单地针对它编写脚本。

Web 服务是在面向 Internet 的服务器上运行的任何应用程序,可以通过 Internet 进行交互,通常使用允许其他基于 Web 的实用程序使用您的服务作为其功能的一部分的 API。

p>

最后,一个 URL 列表以及如何与它们交互就是 任何 Web API。现代 Web API 设计几乎总是涉及身份验证和安全 token (您可能应该研究 Twitter 等使用的 OAuth 身份验证模型),并且有多种关于如何发送数据的竞争标准,JSON 就是其中之一的更受欢迎的选择。记录你的界面确实会把它变成一个 API,但你可能想花一些时间来决定这是否真的是软件与你的网络服务交互的“正确”方式——一旦你发布了一个 API,改变它会破坏任何取决于您的服务!

关于c# - 在 Web 上创建 API 意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com