前几天,群里有个人对 nginx 要求比较奇葩:他想让浏览器自动判断HTTP的响应内容并作实际的对应的处理。
比如:如果是图片,就直接在浏览器中显示;如果是文本,也直接在浏览器中显示。而不是弹出一个下载框。
而他的作法就是把“Content-Type”字段给删除了,让浏览器自己去判断。不过我觉得这很难说是“标准”的。也很可能造成浏览器直接把ZIP压缩文件之类的乱码内容直接显示中浏览器中。很难总是保证浏览器能正确工作,所以,最好还是在网关程序那里修改为正确的“Content-Type”并返回。
删除“Content-Type”有些时候确实能工作,但由于这种做法对浏览器来说是非常不好友的,我也就不再过多讨论了,只说下如何在 nginx 做到这样。
以下就是示例配置:
location / {
types {}
default_type "";
# ...
}
用到的指令:types、default_type。