【问题标题】:How does Accept HTTP header affect returned content when dealing with exceptions?处理异常时 Accept HTTP 标头如何影响返回的内容?
【发布时间】:2011-11-20 14:28:18
【问题描述】:

例如,我有一个返回 jpeg 图像的 REST 资源。用户将其设置为接受标题“image/jpeg”。但是,服务器上出现问题,例如图像不存在。我们想将该异常返回给用户。通常这个异常可以返回为 xml、json 或 html。

默认为 html 异常是否可以接受,或者返回的异常应该是 jpeg 类型,因此是乱码?

【问题讨论】:

  • 我在规范中看不到任何内容,但我认为发送一个Content-Type 绝对没问题,而不是发送一个错误请求。仅发送所请求类型的响应的要求无论如何只是应该,而不是必须。
  • 我们添加了使用逗号的约定。换句话说,您可以发送预期的内容类型,也可以发送异常的内容类型。例如图片/jpeg,文本/html

标签: rest http-headers


【解决方案1】:

正如 Celeda 在上面的评论中所说,返回与“接受”中声明的内容类型不同的内容类型是完全可以的。当存在错误条件时,作者鼓励在正文中返回错误消息。

Accept 标头只是一种保证服务器已生成客户端认为“可接受”的响应的方法。根据定义,错误是不可接受的(至少它们对我的客户来说不是:)所以格式有点无关紧要。当然,jpeg 乱码是不能接受的。

【讨论】:

    猜你喜欢
    • 2011-07-13
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2015-09-03
    相关资源
    最近更新 更多