2014-01-28 53 views
2

我已閱讀RFC2616。對於「406」,它規定:什麼使用Http 406返回?

除非是HEAD請求,響應應該包括含有的可用的實體特性和位置(S),從該用戶或用戶代理可以選擇一個列表中的一個實體最合適的。實體格式由Content-Type頭字段中給出的媒體類型指定。根據用戶代理的格式和功能,可以自動選擇最合適的選項。

但是,我對如何回報以及如何有點困惑。例如,如果我有一個只能返回JSON的RESTful'ish資源,並且調用者只需要XML的Accept頭部細節,那麼我應該如何告訴他我只能返回JSON?

+0

如果Web服務器檢測到它想要返回的數據對於客戶端來說不可接受,則它可以返回包含406錯誤代碼的標頭。讓客戶知道你正在響應xml以外的東西。 http://www.checkupdown.com/status/E406.html – ochi

+0

因此,它似乎像返回一個錯誤代碼406和響應內容類型的'Content-type:application/json'應該足夠 – ochi

回答

0

我認爲使用Content-Type資源提供的可用內容類型列表是可以安全回覆的 - 在您的情況下爲Json。

這是一種「盡力而爲」的服務方式,客戶有責任對問題做出反應或放棄請求。

例如,如果您出國(即到德國),並去當地的屠夫。你只會說英語,屠夫只會說德語和法語。你用英語要求牛肉。
由於屠夫不理解你,他用德語和法語回覆,要求你改變你的請求語言(「Sprechen Sie deutsch?」,「Parlez vous Francais?」)。

現在是你的選擇: - 學習德語或法語(「Rindfleisch」,「Boef」) - 嘗試另一種共同的語言(handsigns,原始聲音) - 離開並搜索懂英語

屠夫
相關問題