Java 为什么META-INF被称为META-INF?

Java 为什么META-INF被称为META-INF?,java,web-applications,Java,Web Applications,我试图解释web应用程序的基本原理。我在META-INF和WEB-INF上遇到了这个问题。这些目录是如何获得这些名称的?如果我没记错的话,META-INF是用于元数据信息的。这可能是完全错误的。如果这是正确的,您可能会猜到web inf是用于web信息的:-P 我想“Inf”是“information”的缩写。Jar文件实际上是包含额外信息和可能更好索引的ZIP文件。在将额外信息打包到ZIP文件中时,将其放置在不可能与正常ZIP文件内容冲突的位置非常重要 选择META-INF作为可以存储JAR

我试图解释web应用程序的基本原理。我在META-INF和WEB-INF上遇到了这个问题。这些目录是如何获得这些名称的?

如果我没记错的话,META-INF是用于元数据信息的。这可能是完全错误的。如果这是正确的,您可能会猜到web inf是用于web信息的:-P


我想“Inf”是“information”的缩写。

Jar文件实际上是包含额外信息和可能更好索引的ZIP文件。在将额外信息打包到ZIP文件中时,将其放置在不可能与正常ZIP文件内容冲突的位置非常重要

选择META-INF作为可以存储JAR文件信息的目录是为了尝试将目录用作ZIP文件中的名称空间。基本上,如果它存储在META-INF中,那么它就是元数据信息,或者(从META的可能含义中挑出),“自我信息”或者“抽象信息”

这允许在不破坏ZIP文件包装的情况下,在ZIP文件本身中存储会影响ZIP文件处理的信息。这是关键,因为它避免了创建新的、可移植的压缩格式并将其推广到Java代码打包的需要。随着人们习惯了META-INF的实用性,在ZIP文件中为特定的打包格式创建了新的“名称空间”,例如“WEB-INF”

ZIP文件格式的第一个“扩展名”是添加manifest或manifest.MF以及可选添加索引列表(以加快项目提取)。现在,这样的文件(由于有一个已知的扩展名空间)已经能够以许多其他方式进行扩展,比如最近添加了用于服务注册的子目录“services”


当您考虑zip文件包含文件和目录时,使用目录作为名称空间才是有意义的。

问题问目录名是如何产生的,而不是它们的意思。标题是“为什么META -IF称为META-IF”,并且我解释了连字符名称的每个部分意味着什么,两个是维基百科文章的链接,一个是猜测(我从来没有见过关于“INF”名称的学术参考,但我能分享的每一个轶事都表明它意味着“信息”)。如果你在寻找完整的词源,english.stackexchange.com可能是一个更好的地方,尽管我认为它们通常适用于字典中的单词、俚语和习语。@Georgee,我想我对这个问题的理解是,为什么它被命名为WEB-INF而不是WEB-INFO。你能澄清一下你的问题吗?@jzd这又是一个猜测,但这可能是因为“META-INF”有8个字符长,这在我们的领域很有意义,而“WEB-INF”允许一个通用后缀,但不超过8个字符?还有,这真的很重要吗?有趣的是,有了电脑的东西,几个人,可能是一个人,可以想出一些东西,让数百万其他人惊讶地挠头。这远非民主。你可以说,编写中间件和规范的人都是现代独裁者。这个名字是怎么来的?有人选了它,可能是因为艾萨克提到的原因。大写,b/c…,然后名字就被卡住了。这就像是在问为什么它是
http
,而它本可以是
htp:
。。我想这只是一个更好的迷因(迂腐的观点:Zip文件只包含文件,没有目录。但是文件名可能很长。)@Tom,没错。Zip文件名的路径用作目录条目。然后,在提取文件的过程中,根据需要将路径转换为目录。由于这个“目录”绑定到一个文件,它仍然很好地满足JAR文件的名称空间要求;但是,它确实使得在ZIP存档中独立于文件真正存储目录变得不可能。谢谢!这很有见地。我也认为WEB-INF遵循META-INF约定。@EdwinBuck,那么它不应该被称为
META-INFO
WEB-INFO
,而不是
-INF
?完全是猜测,但也许它符合DOS中8个字符的文件名长度限制?