我想解釋一下web應用程序的基礎知識。我在META-INF和WEB-INF上遇到了這個問題。這些目錄是如何得到這些名字的?爲什麼META-INF叫做META-INF?
回答
Jar文件實際上是帶有額外信息和可能更好的索引的ZIP文件。當將額外的信息打包到ZIP文件中時,將它放在一個不太可能與普通ZIP文件內容衝突的位置非常重要。
將META-INF選擇爲可存儲有關JAR文件信息的目錄是嘗試將目錄用作ZIP文件中的名稱空間。基本上,如果它被存儲在META-INF中,它是元數據信息,或者(選擇元的可能含義),「自我信息」或「抽象信息」。
這樣就可以存儲影響ZIP文件本身處理ZIP文件的信息,而不會破壞ZIP文件的打包。這是關鍵,因爲它不需要創建新的便攜式壓縮格式,並將其推廣到Java代碼打包的目的。隨着人們習慣於使用META-INF,ZIP文件中的新「名稱空間」就是爲特定的打包格式創建的,例如「WEB-INF」。
對ZIP文件格式的第一個「擴展」是增加了一個清單,或MANIFEST.MF和可選的索引列表(以加速項目提取)。現在,這些文件(由於具有已知的擴展名空間)能夠以許多其他方式擴展,如最近爲服務註冊添加子目錄「服務」。
當您考慮到ZIP文件包含文件和目錄時,僅將目錄用作名稱空間纔有意義。
(步驟:Zip文件只包含文件,沒有目錄,文件名可以很長。) – 2011-05-20 18:52:32
@Tom,true。 Zip的文件名路徑作爲目錄條目。在提取文件的過程中,路徑會根據需要轉換爲目錄。由於這個「目錄」綁定到一個文件,它仍然很好地服務於JAR文件的名稱空間要求;然而,它確實使得無法在ZIP檔案中真正存儲獨立於文件的目錄。 – 2011-05-20 19:14:09
謝謝!這非常有見地。我也認爲WEB-INF遵循了META-INF公約。 – 2011-05-22 05:04:30
如果我沒記錯的話meta-inf是爲meta信息。這可能是完全錯誤的。如果這是正確的,你大概可以猜到WEB-INF是網絡信息:-P
這個問題問到如何目錄名稱來,而不是他們的意思。 – jzd 2011-05-20 16:49:03
標題是「爲什麼META-INF被稱爲META-INF」,我解釋了連字符名稱的每個部分是什麼意思,兩個是通過維基百科文章的鏈接,另一個是通過猜想(我從來沒有真正見過關於「 INF「的名稱,但我可以分享的每一個軼事都表明它的意思是」信息「。)。如果你正在尋找一個完整的詞源,english.stackexchange.com可能是一個更好的地方,但我認爲他們通常使用詞典,俚語和成語。 – 2011-05-20 16:55:20
@Geordee,我想我對這個問題的理解是,爲什麼它命名爲WEB-INF,而不是WEB-INFO。你能澄清你的問題嗎? – jzd 2011-05-20 17:01:25
- 1. 爲什麼叫做BSON?
- 2. 爲什麼叫做'String'?
- 3. 它爲什麼叫做nillable?
- 4. 爲什麼叫做Graph API?
- 5. 爲什麼叫做「Cloud」?
- 6. 爲什麼叫做「方法隱藏」?
- 7. 爲什麼叫做「EMF Generator _Model_」?
- 8. 他們爲什麼叫做「四人幫」?
- 9. 爲什麼叫做第一胎?
- 10. 爲什麼Puppet類叫做class?
- 11. 什麼叫做Dojo基地?
- 12. 這種做法叫做什麼? `objectName && objectName.thing`
- 13. 這是什麼叫,我該怎麼做?
- 14. 爲什麼叫REST
- 15. 爲什麼叫onBlur?
- 16. 爲什麼叫「鏽」?
- 17. 爲什麼叫.getBytes()
- 18. 爲什麼叫longpolling
- 19. 爲什麼一個div叫做div?爲什麼跨度被稱爲跨度?
- 20. 爲什麼叫StackOverflowException?爲什麼不HeapOverSizedException?
- 21. 找出什麼工作簿叫做宏
- 22. pushViewController什麼都不做,當我叫它
- 23. 這個彈出窗口叫做什麼?
- 24. 這種技術叫做什麼?
- 25. 這個符號叫做什麼=>
- 26. 這個軟件叫做什麼?
- 27. 有什麼叫做列表數組嗎?
- 28. 這個PHP技術叫做什麼?
- 29. 這部分代碼叫做什麼?
- 30. ORACLE語法:這叫做什麼?
有什麼名字出現?有人挑選它,可能是由於艾薩克提到的原因。大寫它,B/C ....,然後名字就卡住了。這就像問爲什麼它是'http',當它可能是'htp:'..只是一個更好的模因,我想 – 2011-05-20 17:14:25