Content-Type 仅限字符集
Content-Type with charset only
我发现了这个有趣的东西 header:
Content-Type: charset=utf-8
回答者说这个语法是RFC 2616定义的,我不是
在提供的 link 中看到它。这是有效的语法吗,如果是的话在哪里
具体是这样定义的吗?
production in RFC 2616 for the Content-Type
header是这样的:
Content-Type = "Content-Type" ":" media-type
而the media-type
production是这样的:
media-type = type "/" subtype *( ";" parameter )
type = token
subtype = token
这表示虽然参数部分(例如,charset=utf-8
是可选的,但 type "/" subtype
部分不是——也就是说,媒体类型必须有类型后跟斜杠后跟子类型.
因此 Content-Type: charset=utf-8
不是有效的语法,也没有在其他任何地方特别定义 normatively/authoritatively。
RFC 2616 实际上已被 RFC 7231 和其他几个 RFC(当前的 HTTP RFC)废弃。
但 RFC 7231 的相应部分为这种情况定义了基本相同的产品:
production in RFC 7231 for the value of the Content-Type
header是这样的:
Content-Type = media-type
而the media-type
production是这样的:
media-type = type "/" subtype *( OWS ";" OWS parameter )
type = token
subtype = token
并且没有其他规范废弃或取代该部分 — RFC 7231 在这方面仍然具有权威性。
大多数编程语言都有很好的 media-type 解析库
语法检查;示例:
npm install content-type
node -e "var ct = require('content-type'); ct.parse('charset=utf-8')"
=> TypeError: invalid media type
node -e "var ct = require('content-type'); ct.parse('image; charset=utf-8')"
=> TypeError: invalid media type
不,我在 RFC 2616 或 RFC 7231 的任何地方都找不到这样的 content-type 定义。
它甚至在 Chrome 中都不起作用。
(我试过xhr.setRequestHeader('Content-type','charset=utf-8');
。当我xhr.send
时没有content-type
header。)
我发现了这个有趣的东西 header:
Content-Type: charset=utf-8
回答者说这个语法是RFC 2616定义的,我不是 在提供的 link 中看到它。这是有效的语法吗,如果是的话在哪里 具体是这样定义的吗?
production in RFC 2616 for the Content-Type
header是这样的:
Content-Type = "Content-Type" ":" media-type
而the media-type
production是这样的:
media-type = type "/" subtype *( ";" parameter )
type = token
subtype = token
这表示虽然参数部分(例如,charset=utf-8
是可选的,但 type "/" subtype
部分不是——也就是说,媒体类型必须有类型后跟斜杠后跟子类型.
因此 Content-Type: charset=utf-8
不是有效的语法,也没有在其他任何地方特别定义 normatively/authoritatively。
RFC 2616 实际上已被 RFC 7231 和其他几个 RFC(当前的 HTTP RFC)废弃。
但 RFC 7231 的相应部分为这种情况定义了基本相同的产品:
production in RFC 7231 for the value of the Content-Type
header是这样的:
Content-Type = media-type
而the media-type
production是这样的:
media-type = type "/" subtype *( OWS ";" OWS parameter )
type = token
subtype = token
并且没有其他规范废弃或取代该部分 — RFC 7231 在这方面仍然具有权威性。
大多数编程语言都有很好的 media-type 解析库 语法检查;示例:
npm install content-type
node -e "var ct = require('content-type'); ct.parse('charset=utf-8')"
=> TypeError: invalid media type
node -e "var ct = require('content-type'); ct.parse('image; charset=utf-8')"
=> TypeError: invalid media type
不,我在 RFC 2616 或 RFC 7231 的任何地方都找不到这样的 content-type 定义。
它甚至在 Chrome 中都不起作用。
(我试过xhr.setRequestHeader('Content-type','charset=utf-8');
。当我xhr.send
时没有content-type
header。)