web服務器:
web服務器用于提供http服務,即向客戶端返回信息,其可以處理HTTP協議,響應針對靜态頁面或圖片的請求。通俗的說就是可以挂靜态網站,常見的web服務器有Apache、IIS、nginx。
中間件:
要理解中間件,首先應該了解什麼是web應用程序?Web應用程序是一種可以通過Web訪問的應用程序,程序的最大好處是用戶很容易訪問應用程序,用戶隻需要有浏覽器即可,不需要再安裝其他軟件,有兩種模式C/S、B/S。C/S是客戶端/服務器端程序,也就是說這類程序一般獨立運行。而B/S就是浏覽器端/服務器端應用程序,這類應用程序一般借助IE等浏覽器來運行。WEB應用程序一般是B/S模式。Web應用程序首先是“應用程序”,和用标準的程序語言,如C、C 等編寫出來的程序沒有什麼本質上的不同。然而Web應用程序又有自己獨特的地方,就是它是基于Web的,而不是采用傳統方法運行的。換句話說,它是典型的浏覽器/服務器架構的産物。
一個Web應用程序是由完成特定任務的各種Web組件(web components)構成的并通過Web将服務展示給外界。在實際應用中,Web應用程序是由多個Servlet、jsp頁面、HTML文件以及圖像文件等組成。所有這些組件相互協調為用戶提供一組完整的服務。
接下來說中間件,其實中間件不是固定的什麼東西,隻要滿足定義功能的都可以說是中間件。中間件漏洞可以說是最容易被web管理員忽視的漏洞,原因很簡單,因為這并不是應用程序代碼上存在的漏洞,而是屬于一種應用部署環境的配置不當或者使用不當造成的。那麼從實際情況來看,預防這種漏洞最大的難點,在于中間件安全該由誰負責?
我們在處理應急響應事件時經常遇到這麼一種情況,客戶網站代碼是外包的,也就是第三方公司負責開發,而部署可能是由客戶内部運維人員負責。暫不說他們對于中間件安全的重視程度與了解程度,隻談發現漏洞後如何處理,便是一團亂。開發商推卸說這并不是代碼上的問題,他們完全是按照安全開發流程(SDL)走的,所以跟他無關;運維人員就一臉蒙蔽了,反駁道:你們當初沒跟我說要配置什麼啊,隻是讓我安裝個程序就ok了,我怎麼知道?
那麼除此之外,開發人員以及運維人員對中間件安全意識的缺失也是一個重要因素,有些開發商可能會對自身代碼進行安全檢測,但隻對代碼部分進行審查是遠遠不夠的。
重點分析:
web服務器隻是提供靜态網頁解析(如apache),或者提供跳轉的這麼一種服務。而web中間件或者叫做應用服務器(其包含web容器)可以解析動态語言,比如tomcat可以解析jsp(因為tomcat含有jsp容器),當然它也可以解析靜态資源,因此它既是web中間件也是web服務器。不過tomcat解析靜态資源的速度不如apache,因此常常兩者結合使用。中間件用于提供系統軟件和應用軟件之間的連接,以便于軟件各部件之間的溝通,其可以為一種或多種應用程序提供容器。以web服務器舉例。B/S結構需要有web服務器的解析才能運行,這時,web服務器 就是中間件。*.asp隻能在windows服務IIS上運行,IIS就是這個B/S結構的中間件。 還有比如小公司,入門級别的服務器,tomcat,jboss(通常與小數據庫mysql一起用,Linux上的經典架構LAMP,linux apache mysql php,apache就是中間件,有時也叫Web容器), 大型程序服務器(有bean公司的weblogic、IBM的websphere.(一般與Oracle一起)。中間件叫做中間件服務器,也叫作應用服務器。在web中通常把web服務器叫做中間件。
web容器
web容器用于給處于其中的應用程序組件(JSP,SERVLET)提供一個環境,是中間件的一個組成部分,它實現了對動态語言的解析。比如tomcat可以解析jsp,是因為其内部有一個jsp容器。
所屬的類别
web服務器:IIS、Apache、nginx、tomcat、weblogic、websphere等。
web中間件:apache tomcat、BEA WebLogic、IBM WebSphere等。
web容器:JSP容器、SERVLET容器、ASP容器等。
注意:web中間件與web服務器是有重疊的,原因在于tomcat等web中間件也具備web服務器的功能。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!