【问题标题】:difference between client API and server API [closed]客户端 API 和服务器 API 之间的区别 [关闭]
【发布时间】:2014-10-13 21:13:54
【问题描述】:

正如主题中提到的,有人可以解释客户端 API 和服务器 API 之间的关系吗?

例如,我们有一个 Web,其服务器是用 Java 编写的并使用 Axis2。我可以访问源代码,发现有一个名为“client_API”的文件夹,所有代码都是用 JAVA 编写的。客户端 API 究竟是做什么的?它在服务器端或客户端工作?(从它的名字我认为它应该在客户端工作,但客户端只是用户的浏览器,但是浏览器如何读取JAVA代码?)。

【问题讨论】:

  • 显然我们在猜测,但它很可能是面向公众的 API,例如客户端访问的内容。
  • 客户端通常使用消息级协议(例如 JSON)通过传输(例如 HTTP)调用服务器并发送请求。服务器理解请求并做出响应。可以有多个用不同语言编写的客户端,它们之间的共同点是网络和消息协议。这就是客户端和服务器解耦的方式。根据您提供的信息,很难进一步缩小答案范围。更多在这里 - en.wikipedia.org/wiki/Web_service
  • 对于了解产品的同事来说,这听起来是个好问题!

标签: java .net asp.net-web-api client-side


【解决方案1】:

当您说某些内容在 Client-Side 中时,这意味着它正在您的应用程序上下文中执行。 Server-Side 表示它将从另一台机器、远程机器、服务器执行。

事实上,当我们说某事是server-side 时,在很多情况下,我们会考虑它会在服务器或远程机器上执行,但我们也可以说是web serviceSOA -基于Service-oriented architecture 的应用程序,基于REST 的应用程序。

例如:Web 浏览器(客户端)执行一些代码(客户端代码),并向服务器端发出请求,服务器端将在那里执行一些代码(服务器端)并向客户端响应一些内容。看图:


(来源:webstepbook.com

【讨论】:

    【解决方案2】:

    Web 服务通常被描​​述为客户端和服务器,但也许您更喜欢经典的Stubs and Skeletons 解释。 client_api 是stub。来自维基百科的文章,

    存根充当客户端对象的网关,以及通过它路由到服务器端对象的所有传出请求。

    【讨论】:

    • 我发现在一个web的构建过程中,'stub'会在服务器上自动生成,名字可以是'ExampleAPIStub.java'。我假设这将在以后使用。但如上图所示,Stub 在客户端或用户浏览器上工作。但是生成的存根在服务器上。有解释吗? @Elliott Frisch
    • 不完全是,client-api 是一个存根。您的困惑似乎源于您的网络服务器也是(网络服务)客户端这一事实。
    【解决方案3】:

    它可能只是一个 Web 服务客户端。查看 Axis 网站上的详细说明:

    Creating clients.

    Creating Services.

    基本上,您可以拥有一个 Web 服务客户端来“使用”由 Web 服务“服务”提供的服务。一开始看起来很奇怪,但随着你的学习,这些概念很快就会出现在你的脑海中。

    您可以拥有一个托管在您的应用服务器上的 Web 服务客户端,例如使用 Axis 2 Java API 编写,或者您可以拥有一个用 JavaScript 编写并直接从浏览器执行的 WS 客户端,这真的取决于什么以及您正在查看的应用程序是如何设计的。

    【讨论】:

      【解决方案4】:

      这里是解释客户端 API 和服务端 API 的链接

      http://publib.boulder.ibm.com/infocenter/ablxhelp/v8r4m0/index.jsp?topic=%2Fcom.ibm.db2.abx.ref.doc%2Fsii-bloxobjectmodel-93524.html

      大部分时间/或所有时间客户端 API 将使用 JavaScript。拥有客户端 API 的主要原因是为了轻松无缝地访问服务器端 API 和逻辑。

      每个浏览器都支持 Java 小程序,它们只是 JavaByteCode 并且独立于平台(嗯...),并且可以在客户端计算机上运行。

      【讨论】:

        猜你喜欢
        • 2015-10-18
        • 2021-04-03
        • 2017-03-15
        • 1970-01-01
        • 1970-01-01
        • 2017-05-25
        • 1970-01-01
        • 2020-07-03
        • 1970-01-01
        相关资源
        最近更新 更多