如何发现HTTP POST服务允许的内容类型?

时间:2011-08-29 09:38:27

标签: http post content-type content-negotiation

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

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

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

1 个答案:

答案 0 :(得分:1)

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