2014-03-12 134 views
0

我正在编写一个应用程序,查看内容类型(例如application/json)以确定处理。大多数情况下,Content-Type是众所周知的。但是,有时创建自定义内容类型(例如application/swagger' or text/raml'或yaml/raml')会很方便。创建自定义内容类型的后果是什么?如果我想将它们作为HTTP响应发送,浏览器如何处理它们?我使用text/swagger还是application/swagger有关系吗?创建自定义内容类型的正确性?

回答

2

有关创建自定义或实验内容类型标识符的指导,请参阅rfc6648

从历史上看,建议将标识符预先加上“x-”,但这已被弃用。这听起来像最好的做法是尽量保证您注册您的自定义介质类型或使用一个已经注册(即使它是实验)

至于是否使用text/swaggerapplication/swagger我建议立足这是Swagger使用的是JSON的媒体类型,因为JSON被标识为application/json,那么Swagger将会是类似于application/swagger+json的东西。扬鞭还可以包括JSON模式确定其为application/schema+json

这事实上已经是discussion on the Swagger mailing list包括用于application/swagger+json

+0

对不起,提案找不到建议。你有链接吗? – BSalita

2

浏览器(不知道有关chrome和chromera(opera next))的配置可以定义MIME类型的动作。如果你的内容必须由浏览器直接解析(例如(x)(ht)ml,css,images ..),它应该包含正确的MIME类型(例如,如果要发送jpeg图像,则应该包含“image/jpeg” hello/omg,你不能指望浏览器会显示正确的页面,而是会显示一些“下载”对话窗口或类似的东西)。

内容MIME类型应包括RFC2046:http://tools.ietf.org/html/rfc2046

相关问题