rVaSKK.jpg
nginx响应类型default_type

Nginx 会根据mime type定义的对应关系来告诉浏览器如何处理服务器传给浏览器的这个文件,是打开还是下载
如果Web程序没设置,Nginx也没对应文件的扩展名,就用Nginx 里默认的 default_type定义的处理方式。
default_type application/octet-stream; #nginx默认文件类型

mime type 和文件扩展名的对应关系一般放在 mime.types这个文件里,然后用 include mime.types; 来加载
mime.types文件里是用types指令来定义的

一般在Nginx的配置文件nginx.conf里面的http{}字段中配置即可

文本:
location ~ ^/get_text {
default_type text/html;
return 200 'This is text!';
}

JSON:
location ~ ^/get_json {
default_type application/json;
return 200 '{"status":"success","result":"nginx json"}';
}

强制下载:
location /upload {
add_header Content-Disposition "attachment;";
}

带条件的强制下载:
location /upload {
if ($arg_filename) {
add_header Content-Disposition "attachment; filename=$arg_filename; filename*=UTF-8''$arg_filename";
}
}

浏览器在服务器没有指定编码或者静态页面没有声明编码的情况下会以GBK的编码去渲染页面,容易出现乱码
在nginx location块中主动添加header来输出正确编码,添加内容为: add_header Content-Type 'text/html; charset=utf-8';
或者把add_header这行换成 charset utf-8;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code