REST - Web服务响应 - mime类型?

时间:2010-10-24 04:39:12

标签: xml web-services json rest mime-types

1)为Web服务响应设置正确的mime类型是否重要?

2)a的正确mime类型是什么,
a)XML响应?

b)JSON响应?

application/xml 
text/xml
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

5 个答案:

答案 0 :(得分:7)

  

1)设置正确是否重要   用于Web服务响应的mime类型?

绝对是的。如果您正在使用真正的REST API,那么您返回的不同媒体类型的文档是API规范的重要组成部分。

  

2)什么是正确的mime类型   a,a)XML响应? b)JSON响应?

对于真正的REST服务,它取决于您的API的详细信息以及您定义为内容类型的内容。

作为一个例子(取自this excellent article,值得全额阅读),银行可能希望为application/vnd.bank.org.account+xml的银行帐户定义内容类型。请注意MIME类型“以+xml结尾,并且根据RFC 3023,XML处理器(包括XMLHttpRequest)可以处理这样的表示,就像它是XML一样”。同一家银行也可能使用XML来表示银行转帐,这次使用的内容类型为application/vnd.bank.org.transer+xml

答案 1 :(得分:4)

如果您未设置MIME类型,则接收方将无法正确解释资源。

分别使用text/xmlapplication/json

答案 2 :(得分:3)

  

1)为Web服务响应设置正确的mime类型是否很重要?

是。但是,这实际上取决于收件人预期或配置如何处理内容。使用关于内容的带外信息构建的客户端可以选择忽略内容类型,或者客户端可以使用内容类型元数据来基于内容类型将表示法路由到适当的处理模块。 Content-Type使客户能够理解内容,而无需查看实际内容。此外,由于您已将问题标记为与REST相关,因此了解REST的自描述约束以及媒体类型在实现此约束时所扮演的角色非常重要。如果您有兴趣了解有关自我描述性的更多信息,请阅读section 5.2.1 of Roy's dissertation

  

2)什么是正确的mime类型   a,a)XML响应?

     

b)JSON响应?

     

应用/ XML   文/ XML   应用程序/ JSON   应用程序/ x-JavaScript的   text / javascript text / x-javascript   文本/ X-jsontext / X-JSON

以上所有内容类型都是通用的,除了说明内容是JSON还是XML之外,不会向客户端提供更多信息。您需要的是您的应用程序的特定内容类型,它不仅告诉您的客户有关格式,还描述了语义以及如何处理内容。至于application / xxx和text / xxx之间的区别,RFC 3023声明如下:

  

如果是XML文档,那么   未经处理的源XML文档是   对于临时用户可读,text / xml是   最好是application / xml。哑剧   用户代理(和Web用户代理)   没有明确的支持   text / xml会将其视为text / plain,   例如,通过显示XML   MIME实体为纯文本。   当应用/ xml是优选的   XML MIME实体不可读   临时用户。我读过一些   text / xml的讨论可能是   将来弃用但我不确定   那个。那个。

对于JSON,正确的MIME类型是application / json。见SO question

答案 3 :(得分:1)

MIME类型对于接收者的正确解释很重要。

a)application / xml或text / xml

b)application / json

MIME Media Types

答案 4 :(得分:0)

  

1)为Web服务设置正确的mime类型很重要   响应?

是的,因为统一的界面/自描述消息约束。消息必须包含处理它们所需的所有信息。

  

2)a,

的正确mime类型是什么

这取决于客户要求的内容。你必须检查接受标题。我们通常使用服务application/xml和服务静态文件text/xml。但这并不重要。

如果您发送超链接,您可以使用特定于供应商的MIME,或者您可以使用某些链接数据解决方案,如JSON-LD。