nginx訪問靜態文件不下載,修改默認流下載


 

修改默認

http { 

include mime.types;

#default_type application/octet-stream

default_type    text/html

 

 


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,然后發送給客戶端。
————————————————
版權聲明:本文為CSDN博主「趕路人兒」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/liuxiao723846/article/details/102469868


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM