前言
最近一段时间发现自己的基础知识遗忘得很厉害,技术成长倒是有不少,但是没有落于纸面,同样容易忘记。
因此决定重新开始写博客,来当作自己的笔记,如果能有益于他人,则更好不过。
Content-Type 的作用
Content-Type 实体头部用于指示资源的 MIME 类型 media type 。
在 HTTP Request 中,Content-Type 用于向服务器表明发送数据的类型。
而在 HTTP Respose 中,Content-Type 用于告诉客户端实际返回的内容的类型。
特殊情况
浏览器会在某些情况下浏览器会在某些情况下进行MIME查找,并不一定遵循此标题的值; 为了防止这种行为,可以将标题 X-Content-Type-Options 设置为 nosniff。
X-Content-Type-Options HTTP 消息头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改。这就禁用了客户端的 MIME 类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。
语法
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
常见用法(POST)
application/json
该类型普遍应用于前端,对于前端来说,只要发送的值是一个合法的 JSON 就好。解析都是由后端进行的。
application/x-www-form-urlencoded
普通 Form 形式提交的结果(不支持二进制)
发送的内容是经过 URL Encode 的字符串,其形式类似于 URL 参数。
multipart/form-data
<form action="/" method="post" enctype="multipart/form-data">
<input type="text" name="description" value="some text">
<input type="file" name="myFile">
<button type="submit">Submit</button>
</form>
FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 "multipart/form-data",它会使用和表单一样的格式。