在构建RESTful HTTP服务时,响应是通过204 No Content(例如,在Consumer发出DELETE请求之后),响应包含哪些内容类型?
应该省略吗?是否有首选的内容类型?它应该与同一资源的GET请求的内容类型相同吗?这无关紧要吗?
嗯,这个故事还有一点,它涉及当现实世界(浏览器)符合理论世界(规范)时.似乎Firefox(我编写的第38版)有一个错误,如果没有内容类型标题,浏览器会尝试将内容解析为xml,即使响应代码为204(无内容).请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=521301
因此,虽然当没有内容时内容类型标题没有多大意义(并且不必在204上有内容),但无论如何返回一些标题似乎是有意义的.我不知道那会违反规范.
你Content-Type
当你有内容,甚至然后它是可选:
包含实体主体的任何HTTP/1.1消息应该包括定义该主体的媒体类型的Content-Type头部字段.
(来自RFC2616,§7.2.1,请注意使用SHOULD).
由于没有内容,因此没有理由指定Content-Type
标题.