2015-03-17 12:56:51 分類專欄: 術(shù)語解釋 版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/yingchengsun/article/details/44340211
解釋的挺好的 轉(zhuǎn)帖一下
1. apache 的 服務(wù) 好像是 httpd
2. tomcat 的catalina 是 java運行時容器
如果你是從事于計算機軟件相關(guān)工作的人,那你肯定經(jīng)常見到Apache這個單詞,也應(yīng)該知道Tomcat這個服務(wù)器軟件的名字,Catalina可能陌生一點,但你在配置tomcat時,一定會添加一個環(huán)境變量,然后指向tomcat的安裝路徑,這個環(huán)境變量的名字就叫Catalina_Home,進入tomcat安裝目錄,里面很多文件名字也叫Catalina。那么這三個單詞作為軟件的名字有什么含義、相互之間又是什么關(guān)系呢?
上世紀八十年代,當(dāng)互聯(lián)網(wǎng)開始在美國大學(xué)流行的時候,美國計算機名校伊利諾伊大學(xué)香檳分校(UIUC)的國家超級計算應(yīng)用中心(National Center for Supercomputing Applications, NCSA)組織了一些研究生開始編寫基于HTTP通信協(xié)議的服務(wù)器端和客戶端程序??蛻舳硕顺绦蚪凶鰉osaic,是第一個被普遍使用的網(wǎng)頁瀏覽器,也是Netscape(網(wǎng)景)瀏覽器的前身,之后演變?yōu)镸ozilla Firefox。而服務(wù)器端程序就是最早的Web服務(wù)器軟件之一,名叫NCSA HTTPd,它完整地實現(xiàn)了HTTP協(xié)議,整個實驗獲得了成功。然而伊利諾伊大學(xué)香檳分校也許僅出于學(xué)術(shù)研究目的,在實驗成功后開發(fā)工作就沒有繼續(xù)下去,研究小組也隨之解散,但他們將這兩個軟件開源,其代碼可以自由下載修改并發(fā)布。
此時的互聯(lián)網(wǎng)對HTTP服務(wù)器軟件的需求越來越大,公開源代碼的NCSA HTTPd成了進一步發(fā)展的極好起點。很多研究者不斷地給它添加功能、增加代碼,并對不斷出現(xiàn)的Bug打補丁。但因為缺乏規(guī)劃和管理,出現(xiàn)了越來越多的重復(fù)勞動,隨之而來的則是越多的補丁帶來越多的Bug。1995年2月,為解決這種單打獨斗的現(xiàn)象,8名志同道合的開發(fā)者決定成立一個小組,一起重寫整個NCSA HTTPd程序,發(fā)布一個基于NCSA HTTPd的可靠的服務(wù)器軟件。開發(fā)工作完成后,他們將軟件命名為Apache,全稱Apache HTTP Server。Apache本是美洲原住民印第安人一支部落的名字,這個部落因為高超的作戰(zhàn)策略和無窮的耐性而聞名,同時也是最后一個屈服于美國政府的民族。開發(fā)小組以此寓意軟件高效、可靠,同時表達了大公司遲早會參與競爭并“教化”這塊最早的開源網(wǎng)絡(luò)之地的擔(dān)心。另外,因為整個軟件是在NCSA HTTPd基礎(chǔ)上打了很多補丁程序,他們也戲稱它是“A Patchy Web Server”,意為一個打了很多補丁的Web服務(wù)器軟件。“A Patchy”與Apache諧音,故以Apache命名一語雙關(guān)。
Apache HTTP Server發(fā)布后,由于其具有堅實的穩(wěn)定性、異常豐富的功能和靈活的可擴展性,得到了極大的成功。1999年6月,為有效支持Apache HTTP Server以及相關(guān)軟件的發(fā)展,Apache開發(fā)小組成員們成立了一個非盈利性的Apache軟件基金會(Apache Software Foundation)。大家對Apache這個名字的熟悉大概也是因為這個基金會,它支持開發(fā)了諸多享譽全球的開源軟件,這些軟件的名字前都會加上Apache,其中就包括Apache Tomcat。
Tomcat的這個單詞的意思是“公貓”,因為它的開發(fā)者姆斯·鄧肯·戴維森希望用一種能夠自己照顧自己的動物代表這個軟件,于是命名為tomcat,它的Logo兼吉祥物也被設(shè)計成了一只公貓形象。Tomcat是1999年Apache 軟件基金會與Sun等其他公司一起合作的Jakarta(雅加達)項目中的一個子項目,作為服務(wù)器的容器支持基于Java語言編寫的程序在服務(wù)器上運行,這樣的程序被稱為Servlet,因為它是運行在“Server”上的“Applet”。理論上講這樣一個容器并不是一個完整的服務(wù)器軟件,因為它只能運行Java程序而不能生成HTML頁面數(shù)據(jù),也不能處理并發(fā)事務(wù)。但它集成了HTTP服務(wù)器程序,也就可以單獨作為一個服務(wù)器軟件來部署以處理HTTP請求,但tomcat核心技術(shù)并不在于此,所以除了用于開發(fā)過程中的調(diào)試以及那些對速度和事務(wù)處理只有很小要求的用戶,很少會將Tomcat單獨作為Web服務(wù)器。通常開發(fā)者會讓tomcat與其他對Web服務(wù)器一起協(xié)同工作,比如Apache HTTP Server。Apache HTTP Server負責(zé)接受所有來自客戶端的HTTP請求,然后將Servlets和JSP的請求轉(zhuǎn)發(fā)給Tomcat來處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶端。于是在tomcat中運行Java程序也就是Servlet的那個模塊因為體現(xiàn)了tomcat最核心特點而引起了大家的重視,而這個模塊的名字叫做Catalina。
Catalina是美國西海岸靠近洛杉磯22英里的一個小島,因為其風(fēng)景秀麗而著名。Servlet運行模塊的最早開發(fā)者Craig McClanahan因為喜歡Catalina島故以Catalina命名他所開這個模塊,盡管他從來也沒有去過那里。另外在開發(fā)的早期階段,Tomcat是被搭建在一個叫Avalon的服務(wù)器框架上,而Avalon則是Catalina島上的一個小鎮(zhèn)的名字,于是想一個與小鎮(zhèn)名字相關(guān)聯(lián)的單詞也是自然而然。還有一個原因來自于Craig McClanahan養(yǎng)的貓,他養(yǎng)的貓在他寫程序的時候喜歡在電腦周圍閑逛。但這與Catalina有什么關(guān)系呢?我想可能是Catalina島是個悠閑散步的好地方,貓的閑逛讓Craig McClanahan想起了那里。
參考文獻
http://en.wikipedia.org/wiki/Apache_Software_Foundation
http://en.wikipedia.org/wiki/NCSA_HTTPd
http://en.wikipedia.org/wiki/Apache_HTTP_Server
http://os.51cto.com/art/200608/30403.htm
http://baike.baidu.com/link?url=NN4jXdeJMo-iiSEO1b2-vplZybw3cQkMkY7fhfoZXy1SSNbsN3cXizz7uxwbDvzHChcLzWx1XHUYmUBeIdiitK#3
http://www.quora.com/In-Apache-Tomcat-where-did-the-name-Catalina-come-from
http://blog.csdn.net/huangtingyu/article/details/3429789
http://www.cnblogs.com/gaojing/archive/2009/09/15/1565731.html