HTTP MIME

本文列举了多种Web服务器支持的文件扩展名及其对应的MIME类型,包括应用、音频、图像等多种类型,帮助理解不同文件格式在网络传输中的表现形式。

 

列出了很多流行的Web服务器所支持的一些文件扩展名和MIME内容类型。如果你的服务器没有列出特定内容类型的扩展名,或者根本没有列出所想使用的类型,那么将必须给服务器配置添加对那种类型的支持。

 MIME类型          注释           文件扩展名
application/acad              AutoCAD Drawing文件      dwg,DWG
application/arj                                               arj
application/clariscad           ClarisCAD文件         CCAD
application/drafting            MATRA Prelude草稿      DRW
application/dxf        DXF(AutoCAD)               dxf, DXF
application/excel              Microsoft Excel                 xl
application/i-deas             SDRC I-DEAS文件        unv,UNV 
application/iges               IGES图片格式          igs, iges, IGS, IGES
application/mac-binhex40       Macintosh BinHex格式      hpx
application/msword            Microsoft Word                   word, w6w, doc
application/mswrite            Microsoft Write                   Wri
application/octef-stream         非解释十进制库                  bim
application/oda                                oda
application/pdf                PDF(Adobe Acrobat)              pdf
application/postscript           PostScript                         ai, PS, ps, eps
application/pro-eng             PTC Pro/ENGINEER               prt, PRT, part
application/rtf                 Rich Text Format                   rtf
application/set                 SET(French CAD标准)       set, SET
application/sla                 Stereolithography                  stl, DTL
application/solids               MATRA Prelude Solids             SOL
application/STEP               ISO-10303 STEP数据文件     stp, STP, step, STEP
application/vda                 VDA-FS Surface数据       vda, VDA
application/x-csh               C外壳脚本            csh
application/x-director            Macromedia Director               dir, dcr, dxr
application/x-dvi               TeX DVI                          dvi
application/x-gzip              GNU Zip                          gz, gzip
application/x-mif               FrameMaker MIF Format             mif
application/x-hdf               MCSA HDF Data File                hdf
application/x-latex              LeTeX源             latex
application/x-netcdf             Unidata netCDF                     nc, cdf
application/x-sh                Boume外壳脚本          sh
application/x-stuffit             Stuffit Arehive                      sit
application/x-tel                TCL脚本             tel
application/x-tex                TeX源              tex
application/x-texinfo             Texinfo(Emacs)                     texinfo, texi
application/x-troff               Troff                              t, tr, toff
application/x-troff-mam           含有Man宏的Troff                man
application/x-troff-me             含有ME宏的Troff                me
application/x-troff-ms               含有MS宏的Troff              ms
application/x-wais-source            WAIS源            src
application/x-bepio                  老式二进制CPIO               bcpio
application/x-cpio                   POSIX CPIO                   cpio
application/x-gtar                    GNU tar                       gtar
application/x-shar                    外壳归档程序         shar
application/x-sv4cpio                 SVR4 CPIO                    sv4crc
application/x-sv4crc                  含有CRC的SVR4              sv4crc
application/x-tar                     4.3BSD tar format               tar         
application/x-ustar                   POSLX tar format                ustar              
application/x-winhelp                 Windows Help                   hlp
application/x-zip                      ZIP 归档文件         zip

audio/basic                          基本音频(通常遵循μ法则)  au, snd
audio/x-aiff                          AIFF音频           aif, aiff, aifc
audio/x-pn-realardio                   RealAudio                     ra, ram
audio/x-pn-realaudio-plugin             RealAuldio(插件)        rpm
audio/x-wav                          Windows WAVE音频      wav

image/gif                            GIF图像            gif
image/ief                            Image Exchange Format(图像交换格式) ief
image/jpeg                           JPEG图像     jpg, JPG, JPE, jpe, JPEG, jpeg
image/pict                            Macintosh PICT                 pict
image/tiff                             TIFF图像           tiff, tif             
image/x-cmu-raster                     CMU光栅图像         ras
image/x-portable-anymap                PBM Anymap格式        pnm
image/x-portable-bitmap                 PBM Bitmap格式        pbm
image/x-portable-graymap               PBM Graymap格式        pgm
image/x-portable-pixmap                PBM Pixmap格式         ppm
image/x-rgb                           RGB图像            rgb
image/x-xbitmap                       X Bitmap                        xbm
image/x-xpixmap                       X Pixmap                        xpm
image/x-xwindowdump                  X Windows dump(xwd)格式     xwd

multipart/x-zip                         PKZIP Archive                    zip
multipart/x-gzip                        GNU ZIP Archive                  gzip

text/html                              HTML                          html, htm
text/plain                             普通文本      txt, g, h, C, cc, hh, m, f90

text/richtext                           MIME Richtext                    rtx
text/tab-separated-values                 含有制表符分离值的文本      tsv
text/x-setext                           结构增强文本           etx

video/mpeg                MPEG视频   mpeg, mpg, MPG, MPE, mpe, MPEG, mpeg
video/quicktime             QuickTime视频           qt,mov
video/msvideo              Microsoft Windows视频        avi
video/x-sgi-movie            SGI Movieplayer格式         movie

x-world/x-vrml              VRML Worlds                         wrl

HTTP中的MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)类型是一种标准化机制,用于标识HTTP请求或响应中传输的数据类型(如文本、图片、视频等)。它通过`Content-Type`和`Accept`头部字段实现,确保客户端和服务器正确处理数据。 --- ### **一、MIME类型的基本结构** MIME类型由**类型(Type)**和**子类型(Subtype)**组成,格式为: `type/subtype` 例如: - `text/html`(HTML文本) - `application/json`(JSON数据) - `image/jpeg`(JPEG图片) #### **1. 常见类型分类** | 类型(Type) | 用途示例 | 常见子类型(Subtype) | |--------------------|-----------------------------------|------------------------------------| | `text` | 文本数据 | `plain`, `html`, `css`, `csv` | | `image` | 图片 | `jpeg`, `png`, `gif`, `svg` | | `audio` | 音频 | `mp3`, `wav`, `ogg` | | `video` | 视频 | `mp4`, `webm`, `avi` | | `application` | 二进制或结构化数据 | `json`, `xml`, `pdf`, `octet-stream` | | `multipart` | 多部分数据(如邮件附件) | `form-data`, `mixed` | | `font` | 字体文件 | `woff`, `woff2`, `ttf` | --- ### **二、HTTP中的关键MIME头部** #### **1. `Content-Type`(响应头/请求体)** - **作用**:标识响应体或请求体中的数据类型。 - **示例**: ```http Content-Type: application/json; charset=utf-8 ``` - `application/json`:数据为JSON格式。 - `charset=utf-8`:字符编码为UTF-8。 #### **2. `Accept`(请求头)** - **作用**:客户端声明可接受的响应数据类型。 - **示例**: ```http Accept: text/html, application/xhtml+xml, application/xml;q=0.9 ``` - 优先接受`text/html`,其次`application/xhtml+xml`,最后`application/xml`(权重`q=0.9`)。 #### **3. `Content-Disposition`(响应头)** - **作用**:指示如何处理响应体(如下载文件)。 - **示例**: ```http Content-Disposition: attachment; filename="example.pdf" ``` - 浏览器会提示下载文件,而非直接显示。 --- ### **三、常见MIME类型示例** #### **1. 文本类** - `text/plain`:纯文本(如`.txt`文件)。 - `text/html`:HTML文档(如网页)。 - `text/css`:CSS样式表。 - `text/csv`:逗号分隔值(如Excel导出的数据)。 #### **2. 图片类** - `image/jpeg`:JPEG图片(如`.jpg`文件)。 - `image/png`:PNG图片(透明背景支持)。 - `image/svg+xml`:矢量图(如`.svg`文件)。 #### **3. 应用数据类** - `application/json`:JSON数据(API接口常用)。 - `application/xml`:XML数据(如SOAP协议)。 - `application/pdf`:PDF文档。 - `application/octet-stream`:通用二进制流(如文件下载,未指定具体类型)。 #### **4. 多部分表单** - `multipart/form-data`:用于文件上传的表单数据(如`<input type="file">`)。 ```http Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABC123 ``` - `boundary`:分隔多部分数据的标记。 --- ### **四、MIME类型的作用** 1. **数据解析**:客户端根据`Content-Type`正确解析响应体(如浏览器渲染HTML或显示图片)。 2. **内容协商**:服务器通过`Accept`头部选择客户端支持的格式返回数据(如返回JSON或XML)。 3. **安全控制**:防止恶意文件执行(如服务器设置`X-Content-Type-Options: nosniff`强制遵循MIME类型)。 4. **文件下载**:通过`Content-Disposition`触发下载行为。 --- ### **五、代码示例** #### **1. Python设置MIME类型(Flask框架)** ```python from flask import Flask, Response app = Flask(__name__) @app.route("/data") def get_data(): data = {"name": "Alice", "age": 25} # 设置Content-Type为application/json return Response( response=data, mimetype="application/json" ) @app.route("/download") def download_file(): # 模拟文件内容 file_content = b"Hello, world!" # 触发下载,设置Content-Disposition response = Response( response=file_content, mimetype="application/octet-stream", headers={"Content-Disposition": "attachment; filename=example.txt"} ) return response ``` #### **2. JavaScript通过Fetch API处理MIME类型** ```javascript fetch("https://api.example.com/data") .then(response => { const contentType = response.headers.get("Content-Type"); if (contentType.includes("application/json")) { return response.json(); } else { throw new Error("Unsupported MIME type"); } }) .then(data => console.log(data)) .catch(error => console.error(error)); ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值