Http中Content-Type的取值讲解

在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息(MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息),但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值:

  1. 常见的媒体格式类型:Content-Type: text/html;charset:utf-8;

  text/html : HTML格式

  text/plain :纯文本格式   

  text/xml :  XML格式

  image/gif :gif图片格式

  image/jpeg :jpg图片格式 

  image/png:png图片格式

        2. 以application开头的媒体格式类型:

    application/json    : JSON数据格式

    application/pdf       :pdf格式  

    application/msword  : Word文档格式

     application/octet-stream : 二进制流数据(如常见的文件下载)

     application/x-www-form-urlencoded 应用于表单

    application/xml     : XML数据格式

    application/atom+xml  :Atom XML聚合格式   

      3. 当在表单中需要上传文件的时候,使用的媒体格式类型是:multipart/form-data

二、四种常见的POST提交数据方式的媒体格式类型详解

1、application/json

   application/json 这个 Content-Type 作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于       JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。 

2、application/x-www-form-urlencoded(Content-Type: application/x-www-form-urlencoded;charset=utf-8 )

  这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 encType 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据;

3、multipart/form-data

  当使用表单上传文件时,必须设置encType属性为这个请求头

4、text/xml 

  尚未使用,如遇到的话会持续进行更新

1.模拟HTTP/get传递参数

 //PHP模拟get传参数 $url="www.first.session.com"; $hd = fsockopen($url,80,$errno,$msg,30); $header="GET /file/demo01.php?name=lisi&age=20 HTTP/1.1"."\r\n"; $header.="Host:$url"."\r\n"; $header.="Content-type:application/x-www-form-urlencoded"."\r\n"; $header.="\r\n"; fwrite($hd, $header); $content = stream_get_contents($hd); var_dump($content);

  

相关文章