• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Content-type的说明即HTTP请求头的类型整理

    要学习content-type,必须事先知道它到底是什么,是干什么用的。

    HTTP协议(RFC2616)采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以 及可能的实体内容。

    通常HTTP消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域 值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。

    请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content- Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header。
    Content-Type是返回消息中非常重要的内容,表示后面的文档属于什么MIME类型。Content-Type: [type]/[subtype]; parameter。例如最常见的就是text/html,它的意思是说返回的内容是文本类型,这个文本又是HTML格式的。原则上浏览器会根据Content-Type来决定如何显示返回的消息体内容。

    type有下面的形式

    Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

    Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;

    Application:用于传输应用程序数据或者二进制数据;

    Message:用于包装一个E-mail消息;

    Image:用于传输静态图片数据;

    Audio:用于传输音频或者音声数据;

    Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。

    subtype用于指定type的详细形式。content-type/subtype配对的集合和与此相关的参数,将随着时间而增长。为了确保这些值在一个有序而且公开的状态下开发,MIME使用Internet Assigned Numbers Authority (IANA)作为中心的注册机制来管理这些值。

    parameter可以用来指定附加的信息,更多情况下是用于指定text/plain和text/htm等的文字编码方式的charset参数。MIME根据type制定了默认的subtype,当客户端不能确定消息的subtype的情况下,消息被看作默认的subtype进行处理。Text默认是text/plain,Application默认是application/octet-stream而Multipart默认情况下被看作multipart/mixed。对于IE6浏览器来说,如果Content-Type中的类型和实际的消息体类型不一致,那么它会根据内容中的类型来分析实际应该是什么类型,对于JPG、GIF等常用图片格式都可以正确的识别出来,而不管Content-Type中写的是什么。
    如果Content-Type中指定的是浏览器可以直接打开的类型,那么浏览器就会直接打开其内容显示出来,如果是被关联到其它应用程序的类型,这时就要查找注册表中关于这种类型的注册情况,如果是允许直接打开而不需要询问的,就会直接调出这个关联的应用程序来打开这个文件,但如果是不允许直接打开的,就会询问是否打开。对于没有关联到任何应用程序的类型,IE浏览器不知道它该如何打开,此时IE6就会把它当成XML来尝试打开。

    如果要想实现文件下载,可以在http的头中加入:

    fprintf(file, "Content-Disposition:attachment; filename=\&;%s\&; \r\n", fileName);

    经过测试,html,pdf,gif等原来在网页中打开的文件都可以正常实现下载。

    'hqx' => 'application/mac-binhex40',
    'cpt' => 'application/mac-compactpro',
    'doc' => 'application/msword',
    'bin' => 'application/octet-stream',
    'dms' => 'application/octet-stream',
    'lha' => 'application/octet-stream',
    'lzh' => 'application/octet-stream',
    'exe' => 'application/octet-stream',
    'class' => 'application/octet-stream',
    'so' => 'application/octet-stream',
    'dll' => 'application/octet-stream',
    'oda' => 'application/oda',
    'pdf' => 'application/pdf',
    'ai' => 'application/postscript',
    'eps' => 'application/postscript',
    'ps' => 'application/postscript',
    'smi' => 'application/smil',
    'smil' => 'application/smil',
    'mif' => 'application/vnd.mif',
    'xls' => 'application/vnd.ms-excel',
    'ppt' => 'application/vnd.ms-powerpoint',
    'wbxml' => 'application/vnd.wap.wbxml',
    'wmlc' => 'application/vnd.wap.wmlc',
    'wmlsc' => 'application/vnd.wap.wmlscriptc',
    'bcpio' => 'application/x-bcpio',
    'vcd' => 'application/x-cdlink',
    'pgn' => 'application/x-chess-pgn',
    'cpio' => 'application/x-cpio',
    'csh' => 'application/x-csh',
    'dcr' => 'application/x-director',
    'dir' => 'application/x-director',
    'dxr' => 'application/x-director',
    'dvi' => 'application/x-dvi',
    'spl' => 'application/x-futuresplash',
    'gtar' => 'application/x-gtar',
    'hdf' => 'application/x-hdf',
    'js' => 'application/x-javascript',
    'skp' => 'application/x-koan',
    'skd' => 'application/x-koan',
    'skt' => 'application/x-koan',
    'skm' => 'application/x-koan',
    'latex' => 'application/x-latex',
    'nc' => 'application/x-netcdf',
    'cdf' => 'application/x-netcdf',
    'sh' => 'application/x-sh',
    'shar' => 'application/x-shar',
    'swf' => 'application/x-shockwave-flash',
    'sit' => 'application/x-stuffit',
    'sv4cpio' => 'application/x-sv4cpio',
    'sv4crc' => 'application/x-sv4crc',
    'tar' => 'application/x-tar',
    'tcl' => 'application/x-tcl',
    'tex' => 'application/x-tex',
    'texinfo' => 'application/x-texinfo',
    'texi' => 'application/x-texinfo',
    't' => 'application/x-troff',
    'tr' => 'application/x-troff',
    'roff' => 'application/x-troff',
    'man' => 'application/x-troff-man',
    'me' => 'application/x-troff-me',
    'ms' => 'application/x-troff-ms',
    'ustar' => 'application/x-ustar',
    'src' => 'application/x-wais-source',
    'xhtml' => 'application/xhtml+xml',
    'xht' => 'application/xhtml+xml',
    'zip' => 'application/zip',
    'au' => 'audio/basic',
    'snd' => 'audio/basic',
    'mid' => 'audio/midi',
    'midi' => 'audio/midi',
    'kar' => 'audio/midi',
    'mpga' => 'audio/mpeg',
    'mp2' => 'audio/mpeg',
    'mp3' => 'audio/mpeg',
    'aif' => 'audio/x-aiff',
    'aiff' => 'audio/x-aiff',
    'aifc' => 'audio/x-aiff',
    'm3u' => 'audio/x-mpegurl',
    'ram' => 'audio/x-pn-realaudio',
    'rm' => 'audio/x-pn-realaudio',
    'rpm' => 'audio/x-pn-realaudio-plugin',
    'ra' => 'audio/x-realaudio',
    'wav' => 'audio/x-wav',
    'pdb' => 'chemical/x-pdb',
    'xyz' => 'chemical/x-xyz',
    'bmp' => 'image/bmp',
    'gif' => 'image/gif',
    'ief' => 'image/ief',
    'jpeg' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'jpe' => 'image/jpeg',
    'png' => 'image/png',
    'tiff' => 'image/tiff',
    'tif' => 'image/tiff',
    'djvu' => 'image/vnd.djvu',
    'djv' => 'image/vnd.djvu',
    'wbmp' => 'image/vnd.wap.wbmp',
    'ras' => 'image/x-cmu-raster',
    'pnm' => 'image/x-portable-anymap',
    'pbm' => 'image/x-portable-bitmap',
    'pgm' => 'image/x-portable-graymap',
    'ppm' => 'image/x-portable-pixmap',
    'rgb' => 'image/x-rgb',
    'xbm' => 'image/x-xbitmap',
    'xpm' => 'image/x-xpixmap',
    'xwd' => 'image/x-xwindowdump',
    'igs' => 'model/iges',
    'iges' => 'model/iges',
    'msh' => 'model/mesh',
    'mesh' => 'model/mesh',
    'silo' => 'model/mesh',
    'wrl' => 'model/vrml',
    'vrml' => 'model/vrml',
    'css' => 'text/css',
    'html' => 'text/html',
    'htm' => 'text/html',
    'asc' => 'text/plain',
    'txt' => 'text/plain',
    'rtx' => 'text/richtext',
    'rtf' => 'text/rtf',
    'sgml' => 'text/sgml',
    'sgm' => 'text/sgml',
    'tsv' => 'text/tab-separated-values',
    'wml' => 'text/vnd.wap.wml',
    'wmls' => 'text/vnd.wap.wmlscript',
    'etx' => 'text/x-setext',
    'xsl' => 'text/xml',
    'xml' => 'text/xml',
    'mpeg' => 'video/mpeg',
    'mpg' => 'video/mpeg',
    'mpe' => 'video/mpeg',
    'qt' => 'video/quicktime',
    'mov' => 'video/quicktime',
    'mxu' => 'video/vnd.mpegurl',
    'avi' => 'video/x-msvideo',
    'movie' => 'video/x-sgi-movie',
    'ice' => 'x-conference/x-cooltalk',

    上一篇:input元素[type="file"]时的样式定制及浏览器兼容性问题探讨
    下一篇:html知识点实践经验总结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Content-type的说明即HTTP请求头的类型整理 Content-type,的,说明,即,HTTP,