default_type

当未定义具体类型时,`default_type` 指令为文件和响应设置默认的 MIME 类型。 — NGINX HTTP Core

default_type
httpserverlocation
语法default_type mime_type;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`default_type` 指令在 NGINX 中指定默认的媒体类型,当服务器无法从文件扩展名或其他因素确定内容类型时,应使用该类型作为响应的默认类型。此指令在以下情况下尤为有用:当提供的文件可能没有标准文件扩展名,或配置中没有包含某些文件类型的特定映射时。通过指定默认类型,可以确保客户端收到合适的 Content-Type 头,这有助于浏览器对数据的解释和处理。 该指令可在多个上下文中定义:`http`、`server` 和 `location`,从而在不同配置作用域中提供灵活性。`default_type` 的参数可以是标准的 MIME 类型,例如 'text/html'、'application/json',或任何其他有效的媒体类型。它在配置中的位置决定了是否将指定的默认类型应用于所有请求,或仅应用于特定的 server 或 location 块中的请求。 如果未声明默认类型,并且 NGINX 无法确定文件的类型,则不会设置 Content-Type 头,这可能导致客户端无法正确处理响应。因此,通常的最佳实践是显式定义默认类型,以在所提供的内容中保持一致的行为。

配置示例

http {
    default_type text/html;
    server {
        location / {
            root   /usr/share/nginx/html;
        }
    }
}

在嵌套上下文中覆盖默认类型时要小心;更具体的声明会优先。

未设置默认类型可能导致客户端收到不正确的 Content-Type 头,影响浏览器中的内容显示。