3
我有一個REST資源,例如返回一個jpeg圖像。用戶設置爲他的接受標題「image/jpeg」。但是,服務器上會發生問題,例如圖像不存在。我們想要將該異常返回給用戶。通常這個異常可以作爲xml,json或html返回。在處理異常時,Accept HTTP頭文件如何影響返回的內容?
默認爲html異常還是應該返回異常爲jpeg類型,因此是亂碼?
我有一個REST資源,例如返回一個jpeg圖像。用戶設置爲他的接受標題「image/jpeg」。但是,服務器上會發生問題,例如圖像不存在。我們想要將該異常返回給用戶。通常這個異常可以作爲xml,json或html返回。在處理異常時,Accept HTTP頭文件如何影響返回的內容?
默認爲html異常還是應該返回異常爲jpeg類型,因此是亂碼?
正如Celeda在上面的評論中所說的,返回不同於「Accept」中聲明的內容類型是完全正確的。當錯誤條件存在時,作者鼓勵在正文中返回錯誤消息。
Accept頭只是一種確保服務器生成客戶端認爲「可接受」響應的方式。根據定義,錯誤是不可接受的(至少它們不是我的客戶:)所以這種格式是無關緊要的。當然,jpeg亂碼不會被接受。
我在規範中沒有看到任何內容,但是我認爲發送一個「Content-Type」不是發送錯誤所要求的內容就可以。無論如何,僅發送所請求類型的響應的要求只是應該的,而不是必須的。 – Celada
我們添加了使用逗號的約定。換句話說,您可以發送預期的內容類型,但也可以發送異常的內容類型。比如image/jpeg,text/html – slbruce