應用程序、虛擬目錄、應用程序池
概要
應用程序、虛擬目錄、應用程序池這三個概念在上一篇中《一看就會之—利用IIS服務發佈網站(實踐篇)上》中屢次涉及,全部咱們今天就重點來理解一下這幾個概念。
應用程序
應用程序和軟件的區別
應用程序是指爲了完成某項或某幾項特色任務而被開發運行於操做系統上的計算機程序。可能到這裏有的人就認爲那程序不就是軟件了嗎,其實程序和軟件不是一個概念,程序只是咱們軟件的一部分,在這裏咱們爲你們舉個例子來讓你們區別下程序和軟件,一個遊戲軟件包括程序(好比windows平臺的*.exe,macosx平臺的*.app等)和其它圖片(*.bmp等)、dll文件、音效(*.wav等)幫助文檔等等附件,那麼只有這個(*.exe或者*.app)程序稱做「應用程序」,而它與其餘文件(dll文件、圖片、音效、幫助文檔等)在一塊兒合稱「軟件」,這樣你們對應用程序和軟件應該就能夠分清楚了。
Web應用程序
下面呢回到咱們今天的主題上來,在上篇文章中的咱們利用iis發佈的應用程序單指咱們的Web應用程序,Web應用程序通常是B/S模式。Web應用程序首先是「應用程序」,和用標準的程序語言,如C、C++等編寫出來的程序沒有什麼本質上的不一樣。然而Web應用程序又有本身獨特的地方,就是它是基於Web的,而不是採用傳統方法運行的。換句話說,它是典型的瀏覽器/服務器架構的產物,用戶只須要有瀏覽器便可,不須要再安裝其餘軟件。一個Web應用程序是由完成特定任務的各類Web組件(webcomponents)構成的並經過Web將服務展現給外界。在實際應用中,Web應用程序是由多個Servlet、JSP頁面、HTML文件以及圖像文件等組成。全部這些組件相互協調爲用戶提供一組完整的服務。
應用程序池:
說完應用程序,不能不提咱們的應用程序池,它的定義是應用程序池是將一個或多個應用程序連接到一個或多個工做進程集合的配置。
這樣理解起來有點抽象,我爲你們舉個例子來方便你們的理解,咱們將Web應用程序具體實例化爲一個動態網站。應用程序池就是能夠當作裝載計算機分配給動態網站的內存的容器。若是內存是水,那麼應用程序池就是魚缸,動態網站就是魚缸中的金魚。多個動態網站能夠存在於同一個應用程序池裏,即魚缸中能夠放多條金魚。固然,若是金魚多了,魚缸中的空間有限,金魚之間就會爭搶空間,不是很堅固的魚缸可能就會破裂,全部金魚都會受到影響。便是動態網站多了,內存不足,可能會形成內存級別的溢出漏洞,影響全部在那個應用程序池上的動態網站。因此說應用程序池就是一個容器,它內部裝的是動態網站的內存。
虛擬目錄
虛擬目錄理解起來較爲容易,虛擬目錄顧名思義就是虛擬的不存在的,虛擬目錄只不過是對網站的物理路徑目錄的一個映射而已。使用虛擬目錄的重要意義是,網絡管理員能夠把Web站點的負載分佈到多臺服務器上,這樣使每臺服務器都能保持較高的處理速度,即提升了網站的速度也增長了網站真實服務器的安全性。咱們日常用的較多的像百度、谷歌、淘寶、京東,它們幾乎都採用虛擬目錄這種方式,來將站點的負載分佈到不一樣區域不少臺服務器上,這樣即可以很好的保證大量用戶登陸時網站提供優質的處理速度。
在這裏還有一點要說的就是,虛擬目錄能夠用來被訪問,可是若是虛擬目錄不轉爲應用程序時,虛擬目錄裏面的一些動態腳本不能執行,包括ASPX、ASP等等。轉換成應用程序後,虛擬目錄中的動態腳本即可以執行了。
這樣咱們上一篇文章中的問題這裏面就找到答案了,添加完網站後,沒有添加虛擬目錄天然可訪問咱們開發的網站,由於這時咱們訪問的是網站的物理路徑,天然能夠訪問了。而沒有將其轉爲應用程序也不影響訪問,是由於咱們的開發的網站比較簡單,沒有用到不少的動態腳本和ASPX、ASP等等,因此纔不會影響咱們對開發網站的訪問。因此在這裏咱們仍是建議你們發佈網站添加虛擬目錄並轉爲應用程序,這樣纔會萬無一失。
總結
學習並非一件孤立的事情,咱們應將咱們的學習與咱們的生活有機結合起來,從咱們生活中找到鮮活的例子來再現咱們所學習到的抽象知識,從生活的角度學習,咱們的學習會愈來愈輕鬆的。web