网络服务如何处理请求和响应,PHP如何正确访问请求和响应?

朱莉娅六世

我很难弄清楚Web服务如何处理请求和发送响应,以及我的站点/模块将如何处理它。这些是我的问题,以下是关于为什么我要问的一些问题:

将请求发送到Web服务的正确方法是什么?

Web服务通常将如何回答网站的请求?

PHP站点如何将请求发送到Web服务?cURL是正确的方法吗?

我是一个正在学习PHP和许多其他东西的学生,现在我的工作是创建一个Joomla模块,以显示来自Web服务的信息(当我学习Java时,可能是用Java或某些东西创建的,可能是由我创建的)。 ..)。

我知道我将使用http请求与Web服务进行通信,但是我担心即时通讯使用不正确(向网址发出请求,就像浏览器一样)。

因此,我做了一个小示例网站和一个示例API。该api使用Slim微框架创建路由,访问我的数据库并返回json中的内容(这意味着:如果我在浏览器中访问api.com/api/something,我会看到一个带有很多json的纯白色页面)。我假装这是我的网络服务。

该示例站点使用cURL向API发送请求,读取内容并解码json并执行操作。似乎对我来说是强迫的。

如果我以正确的方式(或与之相距甚远),我对了解Web服务的支持不多。

多谢您的协助。

象征豆

您走在正确的轨道上。Web服务只是一种处理或存储工具,旨在像数据库或文件服务器服务一样由其他程序访问。

将请求发送到Web服务的正确方法是什么

这取决于。最常见的实现使用SOAP或REST,它们在HTTP协议之上定义了其他语义。SOAP使用单个URL作为服务的网关,并且对功能进行更具体的选择,并且相关数据被嵌入通过POST呈现的XML有效负载中。HTTP仅仅是消息交换的载体。在REST中,HTTP部分已集成到事务的语义中。

  • URL标识数据(或处理功能)的位置
  • 有效负载仅包含通常以POSTed JSON或XML形式表示的数据,
  • REST还使用HTTP动词(GET,POST,PUT,DELETE)指示请求的操作
  • HTTP标头用于传输事务元数据。

Web服务通常如何回答请求

我不确定您在这里问什么。它应该报告请求的状态,任何相关的错误消息以及可能的一些数据。

这些规范对于API而言是唯一的,并已记录在案。

cURL是正确的方法吗?

虽然可以使用PHP中的HTTP包装器功能做很多事情,但libcurl提供了更多的灵活性。因此,是的,如果不使用cURL,将很难实现REST客户端。OTOH,SOAP客户端(通常)在HTTP层上不那么复杂,但是如果您使用SOAP库/框架来抽象更复杂的内容,则生活会简单得多。协议。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章