【问题标题】:How do I discover what content types a HTTP POST service allows?如何发现 HTTP POST 服务允许的内容类型?
【发布时间】:2011-08-29 09:38:27
【问题描述】:

我正在为OpenTox webservices 编写一个客户端,但是他们提供的一些服务对某些 MIME 类型有可选的支持,只有少数是强制性的,例如这个Dataset service。所以我需要动态发现特定运行服务支持哪些内容类型...

现在,对于 GET 服务,我可以使用“Accepts”HTTP 标头,并且当我发布内容时,我可以使用“Content-type”来设置我发送的格式。但我宁愿不默认采用试错法,因为这些数据集可能很大。因此,我想预先知道我可以使用的最佳 MIME 类型。

如何使用 POST 服务执行内容协商?我正在使用Apache HttpClient,但这对于答案并不重要。

【问题讨论】:

    标签: http post content-type content-negotiation


    【解决方案1】:

    HTTP 规范中没有规定 POST 内容协商;相反,建议使用OPTIONS 方法。这正是 OpenTox 框架中的情况:所有 Web 服务都必须实现 OPTIONS。该服务返回一个 RDF 文档(根据您指定的 Accept Header)和一个类似 WADL 的内容,即它返回指定可用 MIME 类型、可能的 HTTP 状态代码等的机器可读文档。不幸的是,到目前为止只有一个实现OpenTox 中的选项,即JAQPOT3。查看this wiki entry

    【讨论】:

      猜你喜欢
      • 2017-01-24
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      相关资源
      最近更新 更多