1、什么是MIME-TYPE?
MIME——Multipurpose Internet Mail Extension(多用途因特网邮件扩展)最初是为了满足电子邮件支持多字符集及附件而出现的。MIME Type 不是个人指定的,是经过 ietf 组织协商,以 RFC 的形式作为建议的标准发布在网上的,大多数的 Web 服务器和用户代理都会支持这个规范。

2、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的值处理文件。

3、MIME与Nginx
nginx.conf配置文件http指令块有如下默认指令

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

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

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

3)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通过服务器端文件的后缀名,来查找mime.type文件,进而判断这个文件属于什么类型,再将该数据类型写入HTTP头部的Content-Type字段中,发送给客户端。

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

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

4、如何让nginx访问静态时,不下载?

回到我们最初的问题,根据上面可以得到答案。就是在nginx的mime.type中添加对应文件的类型。类如:在浏览器上输入http://ip/a.data,访问nginx上的静态文件a.data,希望浏览器不下载该文件,而是在浏览器上直接展示。那么我们需要修改mime.type文件,在其中添加一行:

text/plain                            data;

参考:

https://blog.csdn.net/veritas_c/article/details/83897001

nginx访问静态文件不下载相关推荐

  1. nginx访问静态文件

    1. 访问一个文件 server {listen 80;server_name file.one.cn;access_log /Users/xiaoming/Documents/nginxlog/fi ...

  2. nginx 访问 .php文件变成下载

    原文链接: http://www.51ask.org/article/3 解决 nginx 浏览.php文件变成下载 Nginx 浏览.php文件变成下载:这是因为nginx没有设置好碰到php文件时 ...

  3. nginx访问php文件提示下载,解决nginx打开php文件总是显示下载框的问题

    进入目录/etc/nginx/sites-available sudo vim default 把以下代码端前的#去掉 location ~ \.php$ { #       fastcgi_spli ...

  4. Nginx缓存静态文件

    nginx的一大功能就是完成静态资源的分离部署,减轻后端服务器的压力,如果给这些静态资源再加一级nginx的缓存,可以进一步提升访问效率. 第一步:添加nginx.conf的http级别的缓存配置 # ...

  5. 通过Nginx访问静态页面

    通过Nginx访问静态页面 转载请标明出处^_^ 原文首发于:www.zhangruibin.com 本文出自于:RebornChang的博客 nginx的用途 处理静态文件,索引文件以及自动索引:打 ...

  6. nginx访问静态资源

    nginx访问静态资源 打开nginx配置文件 1 打开 nginx.conf 文件 2 修改 nginx.conf 内容 只需修改成或者添加一个location,就可以访问 html路径下所有文件了 ...

  7. Mac上使用nginx访问本地文件夹报403的问题

    Mac上使用nginx访问本地文件夹报403的问题 就是没有权限访问你配置的文件夹在 nginx.conf头行加入下面配置 user root wheel; 不过我的电脑在启动nginx访问的时候会发 ...

  8. Django从理论到实战(part24)--在模板中访问静态文件

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  9. Springboot访问静态文件的问题(WebContent)

    Springboot访问静态文件的问题 前言 1.创建WebContent并在Facets中配置后依旧无法访问任何资源 ①没有配置Working Directories ②配置好Working Dir ...

最新文章

  1. 从Ops到NoOps,阿里文娱智能运维的关键:自动化应用容量管理
  2. 两阶段提交(Two-Phase Commit)
  3. css3动画:animation
  4. 基于运维网V8环境安装ntop
  5. 使用sql server中的全文索引
  6. [你必须知道的异步编程]——异步编程模型(APM)
  7. 濮阳第二届创客机器人比赛_咸阳市举行第二届机器人大赛暨第一届创客大赛
  8. 云+X案例展 | 民生类:中国电信天翼云携手国家天文台打造“大国重器”
  9. emacs工程管理,cedet ede插件自动构建Make,Automake
  10. 中国著名的D版和破解软件下载网站(转)
  11. 时速云与炎黄盈动强强联手,打造企业 IT 变革新未来
  12. android如何打开数据库文件,在Android Studio中查看数据库文件的内容
  13. 浅析json_encode
  14. Android中自定义农历日历,Android实现自定义日历
  15. [CTO札记]新产品出现时,要‘耐得住寂寞,抗得住压力’
  16. 计算机考试多少个小时,考驾照科一电脑刷几个小时
  17. HTML实现3D图片旋转效果
  18. http请求 302解决方法
  19. 正睿OI补题(贪心)
  20. 购买学校计算机房加密狗的请示,2015关于扩建机房的请示.doc

热门文章

  1. 自考管理系统中的计算机应用 1,类,自考管理系统中计算机应用常考SQL语句
  2. 代替网易云的音乐软件(电脑端
  3. 桥梁三维防碰撞系统——喜讯科技
  4. matlab guide 打不开,fig文件用GUIDE打不开,不能进行设计
  5. 单片机产业城市前十排名
  6. logitech webcam linux 驱动安装(适用于TX1和PC)
  7. 基于sklearn的线性回归模型实现多变量决策树
  8. 微信小程序开发笔记(四)数据绑定
  9. python蝴蝶代码_ProE常用曲線方程:Python Matplotlib 版本代碼(蝴蝶曲線)
  10. 电脑里删除的文件怎么恢复?