【发布时间】:2012-03-04 12:32:32
【问题描述】:
当我向我的 REST 服务发出带有 JSON 正文的 POST 请求时,我在消息头中包含 Content-type: application/json; charset=utf-8。如果没有此标头,我会从服务中收到错误消息。我也可以在没有;charset=utf-8 部分的情况下成功使用Content-type: application/json。
charset=utf-8 到底是做什么的?我知道它指定了字符编码,但没有它服务可以正常工作。这种编码是否限制了消息正文中可以包含的字符?
【问题讨论】:
-
有趣的是,根据IANA's
application/jsonMedia Type Registration,似乎根本没有支持charset参数,尽管在实践中经常提供。 -
I know it specifies the character encoding but the service works fine without it."working" 并不总是意味着“现有的代码/配置是覆盖所有极端情况做一件事的最正确方法”。这取决于在其他情况下可能不起作用的所有约定和假设。就我个人而言,我总是尽可能地直言不讳。 -
发送“charset”参数是不正确且没有意义的。请参阅 RFC 8259 第 11 节最后一句。
标签: character-encoding mime-types