Hello! On Fri, Feb 23, 2024 at 12:18:13PM +0300, Lafiel wrote:
> Hello! > > Patch to update current MIME types. > Most of information is taken from IANA and Wikipedia. > > Initial discussion: > https://mailman.nginx.org/pipermail/nginx-ru/2023-November/36Z6S37IZQQWYQXJGFKOMQXFL2XQUJM2.html I would suggest to provide more details and rationale for each change suggested: why the change is needed, which problems it solves, if there are any compatibility concerns, and so on. Note well that nginx (and freenginx) does not try to provide all existing MIME types and extensions in the mime.types file, but rather lists most common ones. As such, it when adding new types and extensions there should be some justification that it needs to be added (httparchive.org might be a good data source here). For example, below are comments for the first several patches: > # HG changeset patch > # User Yuriy Izorkin Nitpicking: no email address. > # Date 1708074268 -10800 > # Fri Feb 16 12:04:28 2024 +0300 > # Branch update-mime-types > # Node ID 2343683b93bc2144073e4c808a3951de83b67d95 > # Parent 89bff782528a91ad123b63b624f798e6fd9c8e68 > MIME: change type image/x-ms-bmp to image/image > > According to IANA, the image/bmp type is used for bmp and dib files. > > diff -r 89bff782528a -r 714041fa3c62 conf/mime.types > --- a/conf/mime.types Wed Feb 14 20:03:00 2024 +0400 > +++ b/conf/mime.types Fri Feb 16 12:04:28 2024 +0300 > @@ -16,6 +16,7 @@ > text/x-component htc; > > image/avif avif; > + image/bmp bmp dib; > image/png png; > image/svg+xml svg svgz; > image/tiff tif tiff; > @@ -23,7 +24,6 @@ > image/webp webp; > image/x-icon ico; > image/x-jng jng; > - image/x-ms-bmp bmp; > > font/woff woff; > font/woff2 woff2; What are "dib" files (in particular, this extension isn't in Apache mime.types[1])? Are are they actually used anywhere except being listed in RFC 7903, and might be some internal Microsoft sources? From the httparchive.org data it looks like the "dib" extension is almost never used (legend: line number in the list of extensions sorted by total requests as shown by "grep -n", extension, total pages, total requests): $ grep -n '^jpg,\|^bmp,\|^dib,' httparchive_exts.csv 4:jpg,9165719,135508292 64:bmp,17013,37954 2118:dib,22,28 The csv file was made with the following query: SELECT ext, COUNT(distinct pageid) total_pages, COUNT(0) total_requests FROM `httparchive.summary_requests.2024_01_01_desktop` GROUP BY ext ORDER BY total_requests DESC Are there any compatibility concerns (looks like the new MIME type is is better handled at least in Chrome, see [3])? Link for reference: [1] https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types [2] https://www.iana.org/assignments/media-types/image/bmp [3] https://bugzilla.mozilla.org/show_bug.cgi?id=1422725 > # HG changeset patch > # User Yuriy Izorkin > # Date 1708074468 -10800 > # Fri Feb 16 12:07:48 2024 +0300 > # Branch update-mime-types > # Node ID ddf871e6c8eeea2715d332ba48f77662cbb0cb4d > # Parent 2343683b93bc2144073e4c808a3951de83b67d95 > MIME: update application/postscript type > > According to IANA, the application/postscript type is used for ps, > ai, eps, epsi, epsf, eps2 and eps3 files. > > diff -r 2343683b93bc -r ddf871e6c8ee conf/mime.types > --- a/conf/mime.types Fri Feb 16 12:04:28 2024 +0300 > +++ b/conf/mime.types Fri Feb 16 12:07:48 2024 +0300 > @@ -33,7 +33,7 @@ > application/mac-binhex40 hqx; > application/msword doc; > application/pdf pdf; > - application/postscript ps eps ai; > + application/postscript ps ai eps epsi epsf > eps2 eps3; > application/rtf rtf; > application/vnd.apple.mpegurl m3u8; > application/vnd.google-earth.kml+xml kml; Same here: what are epsi epsf eps2 eps3 files, and if there are any reasons to add them (just in case, httparchive does not seem to see any requests with these extensions)? Further, IANA does not seem to list these extensions, so the existing commit log looks incorrect and misleading: https://www.iana.org/assignments/media-types/media-types.xhtml https://www.iana.org/assignments/media-types/application/postscript > # HG changeset patch > # User Yuriy Izorkin > # Date 1708074518 -10800 > # Fri Feb 16 12:08:38 2024 +0300 > # Branch update-mime-types > # Node ID 509e72ea0a5f9431e3415c34fdb4c5d223523ae4 > # Parent ddf871e6c8eeea2715d332ba48f77662cbb0cb4d > MIME: update application/vnd.apple.mpegurl type > > According to IANA, the application/vnd.apple.mpegurl type is used > for m3u and msu8 files. Typo, should be m3u8 instead of "msu8". > > diff -r ddf871e6c8ee -r 509e72ea0a5f conf/mime.types > --- a/conf/mime.types Fri Feb 16 12:07:48 2024 +0300 > +++ b/conf/mime.types Fri Feb 16 12:08:38 2024 +0300 > @@ -35,7 +35,7 @@ > application/pdf pdf; > application/postscript ps ai eps epsi epsf > eps2 eps3; > application/rtf rtf; > - application/vnd.apple.mpegurl m3u8; > + application/vnd.apple.mpegurl m3u m3u8; > application/vnd.google-earth.kml+xml kml; > application/vnd.google-earth.kmz kmz; > application/vnd.ms-excel xls; Are m3u playlists actually used in practice? $ grep -n '^m3u8,\|^m3u,' httparchive_exts.csv 23:m3u8,68033,503050 495:m3u,15,302 Note well that m3u implies quite different handling of the file contents, and it might not be a good idea to list it with the same MIME type. For example, Apache uses audio/x-mpegurl, which corresponds to the original Winamp mp3 playlists. And so on. While some suggested changes are probably good enough and should be accepted (from the patches above, bmp change to image/bmp seems legit), this patch series certainly needs more work and major cleanup. [...] -- Maxim Dounin http://mdounin.ru/ -- nginx-devel mailing list nginx-devel@freenginx.org https://freenginx.org/mailman/listinfo/nginx-devel