Web services 内容类型协商在REST应用程序中是典型的还是非典型的?

Web services 内容类型协商在REST应用程序中是典型的还是非典型的?,web-services,http,rest,content-type,Web Services,Http,Rest,Content Type,我的感觉是,内容类型协商是REST“应该做”的事情之一,但据我所知,大多数框架、工具和应用程序都不支持这种协商 这是真的吗 哪些REST编程框架支持内容类型协商 我是否应该期待它的用处扩大?它会在REST框架中变得更常见吗?应用程序真的为同一资源提供多种格式吗?还是会?是否有充分的理由为一个资源提供多种格式?Rails做到了这一点,这是在其他世界做事情的好方法,因此我希望它会越来越普遍。在.net方面,OpenRasta做到了这一点,Ado.net数据服务也做到了这一点(尽管仅限于xml和jso

我的感觉是,内容类型协商是REST“应该做”的事情之一,但据我所知,大多数框架、工具和应用程序都不支持这种协商

这是真的吗

哪些REST编程框架支持内容类型协商


我是否应该期待它的用处扩大?它会在REST框架中变得更常见吗?应用程序真的为同一资源提供多种格式吗?还是会?是否有充分的理由为一个资源提供多种格式?

Rails做到了这一点,这是在其他世界做事情的好方法,因此我希望它会越来越普遍。

在.net方面,OpenRasta做到了这一点,Ado.net数据服务也做到了这一点(尽管仅限于xml和json)

Conneg不仅涉及内容类型,还包括语言和字符集

当更多的框架支持它时,它会变得更加普遍,但是现在这些框架已经存在,那么为什么不现在就使用它们并利用它呢

至于conneg是YAGNI,人们已经期望他们的一些资源同时具有json和xml表示,随着rdfa的出现,它们都变得越来越重要


也就是说,conneg不是关于REST,而是关于HTTP和正确使用它。

你知道,Hank,我知道这是一件“正确的事情”,但由于对这个问题兴趣不大,我仍然想知道内容类型协商是否相关。人们不在乎吗?是YAGNI吗?它似乎比提供同一资源的多个表示的任何其他方法都简单,而且是标准的、有文档记录的方式。除非我有很好的理由不去做,否则我会去做的。我怀疑有多个原因导致人们对此兴趣如此之少:令人惊讶的是,如此多的人根本不使用web应用程序,更不用说RESTful应用程序了;SO上的很多人都在使用MS stack,它强调SOAP和公司(至少直到最近);这个问题来得很慢;并不是很多人提供多个表示(我希望更多)。我猜最后一个原因是大的-不是很多人考虑或考虑单个资源的多个内容类型,因此协商是非问题。我怀疑这也是主要原因。尽管我认为大多数资源至少应该有两个版本:HTML和JSON/XML(用于AtomPub等)。此外,很多数据在其他格式中也很方便:iCal、KML、csv等。哦,我想,我可以做梦。