2016-03-01 39 views
4

我知道Accept參數定義了客戶端期望從服務器獲得什麼類型的數據。標題參數:REST上下文中的「接受」和「內容類型」

我的問題是關於Content-type,它是由客戶端定義發送,我總是用它作爲客戶端請求的一部分請求的正文的格式,所以我必須在這裏我設置頭與Accept客戶端請求, Content-type。最近,我遇到了一個項目,其中Content-type在服務器發送的響應頭文件中定義。所以我的問題是:Content-type需要設置爲客戶端請求頭的一部分或作爲服務器響應頭的一部分,或者它可以設置爲?

回答

9

閱讀相關的RFC。在這種情況下7231

5.3.2. Accept

「接受」首部字段可以由用戶代理被用來指定 響應媒體類型是可接受的。


3.1.1.5. Content-Type

的 「內容類型」 頭字段表示 關聯的表示

這樣的媒體類型:Accept表明什麼樣的響應從服務器的cli恩可以接受。 Content-type總是關於當前請求或響應的內容。

因此,如果您的請求沒有有效內容,則不使用內容類型的請求標頭。

3

HTTP客戶端使用Accept頭來告訴服務器他們期望/偏好哪種類型的內容作爲響應。客戶端和服務器都可以使用Content-type來識別請求(客戶端)或響應(服務器)中的數據格式,因此可以幫助其他部分正確解釋信息。

+0

我可以在https://www.soapui.org/testing-dojo/best-practices/understanding-rest-headers-and-parameters.html中閱讀,content-type僅用於REQUESTS,使用方法POST或PUT,所以不是在迴應中。他們錯了嗎? –

+0

我不會說他們錯了,只是他們不是在談論迴應(說實話,我沒有閱讀完整的文章)。 SoapUI充當一個HTTP客戶端,並從這個角度編寫文本。但是,如果他們明確地說,Content-type頭只適用於請求,那麼是的,他們錯了:) – Alberto