# HG changeset patch # User Maxim Dounin # Date 1725072006 -10800 # Node ID 48f30a3add51148958d6f66968fdd884890a973c # Parent 707736510a903499bf0a2404c6f1b2e9126c3176 MIME: updated type for js files to text/javascript. RFC 9239 changed recommended media type to text/javascript, and made application/javascript deprecated. According to httparchive.org data, as of 2023-01-01 javascript files are returned with the following types (type, total pages using the type, total requests with the type): application/javascript,11686643,218376911 text/javascript,9623206,76111177 application/x-javascript,4874976,28554156 The same data as of 2024-01-01: application/javascript,10563307,205156998 text/javascript,8429652,78523734 application/x-javascript,4197414,26277166 And as of 2024-08-01: application/javascript,10945376,216622264 text/javascript,8802358,102680806 application/x-javascript,4278134,28726895 This corresponds to text/javascript being used in 23.5%, 25.3%, and 29.5% of responses. That is, it is slowly gaining popularity. Still, application/javascript remains more popular for now. With this change, js files are now returned with the text/javascript type. Similarly, autoindex in jsonp format now also uses text/javascript. Additionally, text/javascript is added to the default charset_types list of the charset module. Since application/javascript is still more popular than text/javascript, application/javascript is also preserved in the default list for now. diff -r 707736510a90 -r 48f30a3add51 conf/mime.types --- a/conf/mime.types Sat Aug 31 05:40:00 2024 +0300 +++ b/conf/mime.types Sat Aug 31 05:40:06 2024 +0300 @@ -2,10 +2,10 @@ types { text/html html htm shtml; text/css css; + text/javascript js; text/xml xml; image/gif gif; image/jpeg jpeg jpg; - application/javascript js; application/atom+xml atom; application/rss+xml rss; diff -r 707736510a90 -r 48f30a3add51 src/http/modules/ngx_http_autoindex_module.c --- a/src/http/modules/ngx_http_autoindex_module.c Sat Aug 31 05:40:00 2024 +0300 +++ b/src/http/modules/ngx_http_autoindex_module.c Sat Aug 31 05:40:06 2024 +0300 @@ -264,7 +264,7 @@ break; case NGX_HTTP_AUTOINDEX_JSONP: - ngx_str_set(&r->headers_out.content_type, "application/javascript"); + ngx_str_set(&r->headers_out.content_type, "text/javascript"); break; case NGX_HTTP_AUTOINDEX_XML: diff -r 707736510a90 -r 48f30a3add51 src/http/modules/ngx_http_charset_filter_module.c --- a/src/http/modules/ngx_http_charset_filter_module.c Sat Aug 31 05:40:00 2024 +0300 +++ b/src/http/modules/ngx_http_charset_filter_module.c Sat Aug 31 05:40:06 2024 +0300 @@ -126,6 +126,7 @@ static ngx_str_t ngx_http_charset_default_types[] = { ngx_string("text/html"), ngx_string("text/xml"), + ngx_string("text/javascript"), ngx_string("text/plain"), ngx_string("text/markdown"), ngx_string("text/vnd.wap.wml"),