mime.types 与 nginx配置

您所在的位置:网站首页 文件mime类型 mime.types 与 nginx配置

mime.types 与 nginx配置

2023-10-20 14:57| 来源: 网络整理| 查看: 265

一、什么是MIME-TYPE

MIME——Multipurpose Internet Mail Extension(多用途因特网邮件扩展)最初是为了满足电子邮件支持多字符集及附件而出现的。 通过MIME,我们可以写一封既含有英文,又含有中文,再加上一个文件作为附件的邮件。这种含有多种类型数据的文件被称为多部分对象集合(Multipart messages)。 MIME Type 不是个人指定的,是经过 ietf 组织协商,以 RFC 的形式作为建议的标准发布在网上的,大多数的 Web 服务器和用户代理都会支持这个规范

二、MIME与HTTP协议

除了支持电子邮件的SMTP协议以外,MIME还被其他协议或者程序广泛使用着,这其中就包括大名鼎鼎的HTTP协议。HTTP服务器在发送一份报文主体时,在HTTP报文头部插入解释自身数据类型的MIME头部信息(Content-Type)。 MIME-type和Content-Type的关系: 当web服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的MIME配置文件中找到对应的MIME Type,再根据MIME Type设置HTTP Response的Content-Type,然后客户端如浏览器根据Content-Type的值处理文件。

三、MIME与Nginx

nginx.conf配置文件http指令块有如下默认指令

http { include mime.types; default_type application/octet-stream;

include表示纳入mime.types文件的配置, 如果nginx.conf有重复的指令,可以抽取出来,利用include来帮我们简化配置,避免修改一个相同的配置,要改动好几个地方。

incluee xxx.conf;

default_type 如果Web程序没设置,Nginx也没找到对应文件的扩展名的话,就使用默认的Type,这个在Nginx 里用 default_type定义: default_type application/octet-stream,这是应用程序文件类型的默认值。

application/octet-stream 是HTTP规范中Content-Type的一种,意思是 未知的应用程序文件 ,浏览器一般不会自动执行或询问执行。 只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组)。

conf/mime.type文件内容如下:

types { text/html html htm shtml; text/css css; text/xml xml; image/gif gif; image/jpeg jpeg jpg; application/javascript js; application/atom+xml atom; application/rss+xml rss; text/mathml mml; text/plain txt; text/vnd.sun.j2me.app-descriptor jad; text/vnd.wap.wml wml; text/x-component htc; image/png png; image/svg+xml svg svgz; image/tiff tif tiff; image/vnd.wap.wbmp wbmp; image/webp webp; image/x-icon ico; image/x-jng jng; image/x-ms-bmp bmp; application/font-woff woff; application/java-archive jar war ear; application/json json; application/mac-binhex40 hqx; ...

这里形如text/html格式的字符串就是用来说明数据类型的,/前的是主类型,/之后的是该主类型下的子类型。详细的类型定义在RFC2046中。 Nginx通过服务器端文件的后缀名来判断这个文件属于什么类型,再将该数据类型写入HTTP头部的Content-Type字段中,发送给客户端。

比如,当我们打开OSC的一个页面,看到一个PNG格式的图片的时候,Nginx是这样发送格式信息的:

服务器上有enter_narrow.png这个文件,后缀名是png; 根据mime.types,这个文件的数据类型应该是image/png; 将Content-Type的值设置为image/png,然后发送给客户端。 在这里插入图片描述

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types https://my.oschina.net/plutonji/blog/527797 http://www.ganzhishi.com/view.asp?id=1613 http://tool.oschina.net/commons?type=22013-05-17



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3