[nginx] MIME: updated type for js files to text/javascript.
Maxim Dounin
mdounin at mdounin.ru
Sat Aug 31 02:42:20 UTC 2024
details: http://freenginx.org/hg/nginx/rev/48f30a3add51
branches:
changeset: 9328:48f30a3add51
user: Maxim Dounin <mdounin at mdounin.ru>
date: Sat Aug 31 05:40:06 2024 +0300
description:
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.
diffstat:
conf/mime.types | 2 +-
src/http/modules/ngx_http_autoindex_module.c | 2 +-
src/http/modules/ngx_http_charset_filter_module.c | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diffs (38 lines):
diff --git a/conf/mime.types b/conf/mime.types
--- a/conf/mime.types
+++ b/conf/mime.types
@@ -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 --git a/src/http/modules/ngx_http_autoindex_module.c b/src/http/modules/ngx_http_autoindex_module.c
--- a/src/http/modules/ngx_http_autoindex_module.c
+++ b/src/http/modules/ngx_http_autoindex_module.c
@@ -264,7 +264,7 @@ ngx_http_autoindex_handler(ngx_http_requ
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 --git a/src/http/modules/ngx_http_charset_filter_module.c b/src/http/modules/ngx_http_charset_filter_module.c
--- a/src/http/modules/ngx_http_charset_filter_module.c
+++ b/src/http/modules/ngx_http_charset_filter_module.c
@@ -126,6 +126,7 @@ static ngx_int_t ngx_http_charset_postco
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"),
More information about the nginx-devel
mailing list