一個學習的總結,或者說是匯總,有些鏈接給出的觀點過時,已按照自己的理解經過修改編輯;
web服務器
Web服務器的基本功能就是提供Web信息瀏覽服務,響應客戶端的瀏覽器請求。因為Web服務器主要支持的協議就是HTTP,所以通常情況下HTTP服務器和WEB服務器是相等的。待考:支持除HTTP之外的協議的web服務器?
不支持事務處理或數據庫連接池,但它可以配置各種策略來實現容錯性和可擴展性,例如負載平衡,緩沖,集群。
IIS、Apache、Tomcat都可以屬于Web服務器。
IIS 是微軟開發的web服務器,需要收費,主要用來跑 asp.net asp php,只能在windows下運行。
Apache與Tomcat都是Apache開源組織開發的用于處理HTTP服務的項目,兩者都是免費的,都可以做為獨立的Web服務器運行。Apache是Web服務器而Tomcat是Java應用服務器。Apache服務器 只處理 靜態HTML,而tomcat服務器 靜態HTML 動態 JSP Servlet 都能處理。
一般是把 Apache服務器 與 tomcat服務器 搭配在一起用:
1) Apache服務器 負責處理所有 靜態的 頁面/圖片 等信息。
2) Tomcat 只處理動態的 部分。
Apache:是C語言實現的,專門用來提供HTTP服務。特性:簡單、速度快、性能穩定、可配置(代理)
1、主要用于解析靜態文本,并發性能高,側重于HTTP服務;
2、支持靜態頁(HTML),不支持動態請求如:CGI、Servlet/JSP、PHP、ASP等;3、具有很強的可擴展性,可以通過插件支持PHP,還可以單向Apache連接Tomcat實現連通;
4、Apache是世界使用排名第一的Web服務器。
Tomcat:是Java開發的一個符合JavaEE的Servlet規范的JSP服務器(Servlet容器),是 Apache 的擴展。特性:免費的Java應用服務器
1、主要用于解析JSP/Servlet,側重于Servlet引擎;
2、支持靜態頁,但效率沒有Apache高;支持Servlet、JSP請求;
3、Tomcat本身也內置了一個HTTP服務器用于支持靜態內容,可以通過Tomcat的配置管理工具實現與Apache整合。
Apache + Tomcat:兩者整合后優點:如果請深圳市是靜態網頁則由Apache處理,并將結果返回;如果是動態請求,Apache會將解析工作轉發給Tomcat處理,Tomcat處理后將結果通過Apache返回。這樣可以達到分工合作,實現負載遠衡,提高系統的性能。apache是web服務器,tomcat是應用(java)服務器,它只是一個servlet容器,可以認為是apache的擴展,但是可以獨立于apache運行。獨立于apache運行。換句話說,apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。
Nginx是俄羅斯人編寫的十分輕量級的HTTP服務器,Nginx,它的發音為“engine X”,是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器。
Nginx與Apache比較:
1)輕量級,同樣起web 服務,比apache占用更少的內存及資源 ;
2)高并發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高并發下nginx 能保持低資源低消耗高性能 ;
3)高度模塊化的設計,編寫模塊相對簡單 ;
4)提供負載均衡;
5)apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程;
歸納起來,CDN具有以下主要功能:(1)節省骨干網帶寬,減少帶寬需求量;(2)提供服務器端加速,解決由于用戶訪問量大造成的服務器過載問題;(3)服務商能使用Web Cache技術在本地緩存用戶訪問過的Web頁面和對象,實現相同對象的訪問無須占用主干的出口帶寬,并提高用戶訪問因特網頁面的相應時間的需求; (4)能克服網站分布不均的問題,并且能降低網站自身建設和維護成本;(5)降低“通信風暴”的影響,提高網絡訪問的穩定性。