2011-11-03 32 views
9

有什麼用一個比其他的差異和優勢:使用接收字符集HTTP標頭

Accept: application/json;charset=utf-8 

與:

Accept: application/json 
Accept-Charset: utf-8 

是第一種形式符合RFC 2616?

注意:可能是json或xml等。

+1

沒有一個明確的答案,但檢查[此相關的問題(http://stackoverflow.com/questions/7055849/accept-and-accept-charset-which-is-superior)的一些意見 – Martin

+0

這是爲「服務器」考慮接受或不接受字符集。但所有代理都在Accept-charset上工作 https://developer.mozilla.org/en-US/docs/HTTP/Content_negotiation – Optional

回答

3

它們都是兼容的。但我更喜歡第二個。

「字符集」參數是媒體類型和媒體類型是由IANA定義,而不是由RFC 2616

  • 即使服務器瞭解到RFC 2616,你不能確定它理解「字符集」參數。
  • 某些媒體類型可能沒有「字符集」參數。
+0

如果媒體類型沒有字符集參數,那麼* both *表單都是無意義的。 –

+0

@JulianReschke如果媒體類型沒有「charset」參數,爲什麼Accept-Charset表單也沒有意義? RFC 2616和draft-ietf-httpbis-p2-semantics-24並沒有說Accept-Charset頭中的charset等同於媒體類型的「charset」參數。 – npcode

+0

你有一個媒體類型的例子,支持不同的字符集,但沒有字符集參數? –

相關問題