Mercurial > hg > nginx
changeset 9328:48f30a3add51
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.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 31 Aug 2024 05:40:06 +0300 |
parents | 707736510a90 |
children | eebab9268326 |
files | conf/mime.types src/http/modules/ngx_http_autoindex_module.c src/http/modules/ngx_http_charset_filter_module.c |
diffstat | 3 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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:
--- 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"),