MIME 类型 text/html:如何定义以及在何处定义?

MIME 类型 text/html:如何定义以及在何处定义?

我在 AskUbuntu 上问了一个相关问题(如何以不同于 *.html 的方式打开 *.htm?)还没有兴趣,所以我用一个更基本的问题来解决同样的问题。

我无法找到在 GNOME 中如何以及在何处分配 MIME 类型text/html,通常(但并非总是)分配给网页文件(*.html*.htm)。至少有 2 个规则在起作用:它部分与文件扩展名以及文件开头的可变数量的字符相关(在 GNOME 3.28.2 / Ubuntu 18.04 上测试):

$ ls -l empty.html
-rw-r--r-- 1 rphair rphair 0 2019-08-02 16:26 empty.html
$ gio info empty.html | grep standard::content-type
  standard::content-type: text/plain

$ cat less-than.html
<
$ gio info less-than.html | grep standard::content-type
  standard::content-type: text/html

$ mv less-than.html less-than.junk
$ gio info less-than.junk | grep standard::content-type
  standard::content-type: text/plain

$ echo '<html' > less-than.junk
$ gio info less-than.junk | grep standard::content-type
  standard::content-type: text/html

我需要知道这个 MIME 类型是在哪里定义的,这样我就可以更改该定义。 (这有点超出了这个问题的范围,但我的目标是将相同 MIME 分类的 *.htm 文件与 Web 编辑器而不是浏览器关联。)

答案1

已安装软件包的现有 MIME 类型在 中定义/usr/share/mime/packages。普遍接受的 MIME 类型在freedesktop.org.xml此目录中定义。该数据库的内容在这里定义(freedesktop.org > 规范 > 共享 mime-info-spec)以及添加或修改标准 MIME 类型的过程。

可以通过根据以下方式放置文件来定义自定义 MIME 类型:

如何覆盖标准 MIME 类型(对于相关系统,在 package 中定义shared-mime-info),特别是text/html,是相关问题的答案,因此我将在其他论坛的链接线程中解决它。

相关内容