http的请求与响应contenttype

content-type 指请求消息头的中请求消息数据的格式

有三种用法

第一种:设置在request header的参数中

js中可以在发送请求前在请求消息头中设置content-type
var xhr = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xhr.open(method, url, true);
xhr.onreadystatechange = function () {};
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(params);

第二种:设置在发送请求页面的header中
<header>
  <meta content="text/html" charset="utf-8"/>
</header>
第三种:设置在form表单提交的enctype参数中
<form enctype="multipart/form-data"></form>

格式 Content-Type: type/subtype;parameter;
例如 Content-Type: text/html;charset:utf-8;
 
type:text,或者application,或者*
     text-------主类型是文本类型
     application----主类型是应用
     *--------------所有类型都适用
        
subtype:子类型
    *---------------所有类型都适用
    html------------子类型为html格式
    xml-------------子类型为xml
    png-------------子类型为png格式
    
parameter:参数,常用的是编码方式参数charset:utf-8

type/subtype 即是互联网媒体类型,也叫作MIME-Type

常见的媒体类型

主类型是text的

    text/html : HTML格式
    text/plain :纯文本格式      
    text/xml :  XML格式
    image/png: png图片格式
    
主类型是application的

    application/xhtml+xml :XHTML格式
    application/xml     : XML数据格式
    application/json    : JSON数据格式
    application/octet-stream : 二进制流数据(如常见的文件下载)

特殊的用于上传文件时的mime-type
    multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
    application/x-www-form-urlencoded: 表单提交默认的mime-type,设置在enctype参数中,表单数据将会以k1=v1&k1=v1&k1=v1的形式发送到服务器
    
mime-type的设置与文件类型,文件后缀名密切相关,如tomcat中的web.xml文件中就有详尽的mime-mappping设置
详细的mime-type列表:http://www.w3school.com.cn/media/media_mimeref.asp

原文地址:https://www.cnblogs.com/carolddz/p/8477561.html