Windows?Server?2019?Web服務IIS配置與管理理論篇(術語解釋、工作原理與常見的WEB服務器)
介紹了部署 Windows Web 服務器 IIS 之前所需要了解的一些關于WEB的基本術語概念,包括Web服務器定義,HTML,HTTP協議,HTTPS協議及其工作原理。
(常見的WEB服務器)
介紹了市面上常用的 WEB 服務器,包括 IIS 服務器,Apache 服務器,Tomcat 服務器和Nginx服務器。同時分析了 Nginx 的優勢,比較了四個 WEB 服務器的優勢及限制。
1. 基本概念1.1 Web 服務器一般指網站服務器,也就是我們打開的各種網站的數據來源,它實際上是服務器上運行的應用程序,這個程序通過HTTP協議/HTTPS協議與瀏覽器等客戶端進行通信,把網頁展現給用戶。
1.2 HTMLHTML是“Hyper Text Markup Language”的縮寫,即“超文本標記語言”,是標準通用標記語言下的一個應用。html并不是一種編程語言,它是一種標記語言,是由一些標簽組成,主要是用來制作網頁的。
為什么說是超文本語言呢?“超文本”指的是它的內容可以是一些非文本的內容,比如:圖片、鏈接、聲音等等。
1.3 HTTP 協議Hyper Text Transfer Protocol ,HTTP 是 TCP/IP 協議簇中的一種協議,超文本傳輸協議。HTTP是為了發布和檢索 HTML 頁面而開發出來的
HTTP 是一種數據傳輸協議,同時, 它也是最常用的應用層協議。 當客戶端(尤其是 WEB 瀏覽器)向服務器發送 請求消息時,HTTP 協議規定了 客戶端請求網頁消息的類型,以及服務器響應信息的類型。
常用的三種消息類型包括 GET、POST 以及 PUT。
GET消息GET 是一種客戶端數據請求消息。瀏覽器向WEB服務器發送請求網站頁面的 GET 消息。 一旦收到 GET 請求,服務器將立即反饋,反饋的消息內容可以是被請求的文件, 也可以是報錯消息,或者是其它信息。
POST消息POST是一種用于向WEB服務器上傳數據的請求消息。例如,當用戶在網頁的表單(form)中輸入數據時,點擊確認時,用的就是POST請求,這個時候表單中的數據會被上傳到WEB服務器中。所謂的表單,最簡單可以理解為登錄界面要求輸入的用戶名和密碼。這兩個都是表單中的數據類型。
PUT消息PUT也是一種用于向WEB服務器上傳數據的請求消息。與POST相比,PUT用于向WEB服務器上傳文件。例如,在參加考試報名時,需要上傳個人照片,這時候就是用PUT消息。
1.4 HTTPS 協議Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS,超文本安全傳輸協議。
雖然 HTTP 是一種很靈活的協議,但它并不安全。POST 消息以純文本格式向WEB服務器上傳信息,WEB服務器的響應也不加密,所以,這些信息很可能被網絡監聽工具(例如wireshark等)中途截取。 為了在互聯網中進行安全通信,人們發明了安全超文本傳輸協議 ,也就是 HTTPS協議,來訪問或發布 Web 服務器信息。HTTPS 可以采用身份驗證和加密兩種方式保障客戶端和服務器間的數據傳輸安全。
HTTPS中的S,即SSL,SecureSocket Layer(安全套接層)。HTTPS = HTTP + SSL/TLS
SSL/TLS協議,SSL“安全套階層”協議,TLS“安全傳輸層”協議,兩者都是加密協議,SSL是TSL的前身,TSL是SSL的改進版本。它們位于應用層和傳輸層之間,用于對應用層(HTTP)數據包加密,然后在傳輸。同時也進行身份和數據完整性校驗。這樣就可以保證HTTP明文傳輸數據的保密性,準確性和完整性。
通俗一點可以這樣理解:HTTPS協議是一種使用HTTP協議和SSL/TSL協議(作用:加密數據和數字簽名)的混合型協議。HTTP用于傳輸明文;加密算法用于加密傳輸明文,確保內容的保密性;數字簽名用于對傳輸明文的校驗,驗證其完整性。
2. 工作原理一般的,打開網頁大致有三個步驟。
(1)在瀏覽器上輸入網址,瀏覽器通過HTTP協議向服務器發起GET請求。web瀏覽器是一種客戶端應用程序,計算機使用該程序連接到互聯網,通過HTTP協議訪問存儲在Web服務器上的資源。發起GET請求,即計算機生成HTTP ‘GET’消息發送給Web服務器
(2)服務器收到請求后,將網頁代碼返回給客戶端瀏覽器。和多數服務器進程相同,Web服務器一般以后臺服務的方式運行,并且支持不同類型的文件。
(3)瀏覽器收到請求后,按照規則對HTML進行解釋,并顯示為網頁。瀏覽器可以解釋并顯示多種數據類型。例如純文本或者構成網頁的超文本標記語言HTML
這種客戶端/服務器架構稱為C/S架構。一臺服務器可以應對多個客戶端。
參考資料 Microsoft Docs:IIS Web Server Overview
Microsoft Docs:Internet Information Services (IIS)
3. 常見的WEB服務器目前,最主流的WEB服務器有以下幾個:
IISApacheTomcatNginx
3.1 IIS服務器Internet Information Services(簡稱IIS),是微軟公司推出的WEB服務器組件,也是Windows Server默認,特有的,自帶的WEB服務器,需要用戶手動添加組件。IIS組件包括WEB服務器、FTP服務器、NNTP服務器和SMTP服務器。
WEB服務器用于網頁瀏覽。FTP服務器用于文件傳輸。NNTP服務器用于新聞服務。SMTP服務器用于郵件發送。
IIS支持的操作系統:Windows 系統
IIS組件使得用戶在網上發布信息變得相對容易,人們口中提到的IIS大部分時候特指其中的WEB服務器,IIS具有強大、安全和靈活等特性,但是只能在Windows系統上運行。
IIS支持的語言:ASP.NET、PHP、JSP
IIS對ASP.NET有著極好契合性,但是對PHP和JSP而言,相對操作比較麻煩。所以一般只在使用ASP.NET進行開發時,選用IIS作為WEB服務器。
3.2 Apache服務器Apache HTTP Server(簡稱Apache)是目前世界上最流行的WEB服務器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿補丁的服務器。Apache是Apache軟件基金會的一個開放源碼的網頁服務器,它是一個自由軟件,所以不斷有工程師在為Apache開發新的功能,新的特性,修改bug。
The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.
Apache的特點:免費,簡單,速度快,性能穩定和可移植性強,并且可以當成代理服務器使用。
Apache支持的操作系統:Unix、Linux、Windows、Mac OS等系統,支持絕大部分的系統平臺,尤其對Linux系統完美契合。
在WEB服務器中,Apache是純粹的WEB服務器,本身只支持HTML靜態網頁,但是可以和其他服務器一起工作或者添加插件來支持PHP、JSP、ASP等。
詳細請前往Apache HTTP Server官網查閱:httpd.apache.org
3.3 Tomcat服務器Apache Tomcat(簡稱Tomcat)是一個開放源代碼的WEB應用服務器,屬于輕量級應用服務器。同時它也是一個基于java,可運行Servlet和JSP的應用軟件容器。所以它支持JSP動態頁面,也可以處理HTML,但是 理html的效率不如Apache 。
The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.
在Java開發WEB應用時,我們經常在編輯工具中(例如,Eclipse)安裝Tomcat服務器,以便JSP和HTML頁面可以在瀏覽器中顯示網頁。
Apache和Tomcat的關系
Apache只支持靜態網頁 , 如果要在Apache環境下運行JSP的話, 就需要一個解釋器來執行JSP網頁, 而這個JSP解釋器就是Tomcat。
Apache支持靜態頁面解析,Tomcat支持動態頁面解析,當WEB使用Java時,那么Apache+Tomcat是完美組合。
網上有個比較形象的比喻說Apache像一輛卡車,卡車上面可以裝一些東西比如HTML,但是不能裝動態的水(JAVA),而Tomcat就是一個木桶,可以用來裝水(JAVA)。水可以放在卡車上也可以放在其他地方。
詳細請前往Apache Tomcat官網查閱:tomcat.apache.org
3.4 NginxNginx是俄羅斯人Igor Sysoev編寫的異步框架的,輕量級Web服務器,它的發音為 [?end??nks] ,它不僅是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器。
Nginx的主要作用:
反向代理負載均衡HTTP緩存 Nginx的優勢/Nginx和Apache
Nginx 的編寫有一個明確目標就是超越 Apache Web 服務器的性能[1]。Nginx 提供開箱即用的靜態文件,使用的內存比 Apache 少得多,每秒可以處理大約四倍于 Apache 的請求[2]。 在低并發下 Nginx 的性能與 Apache 相當(有時候還低于),但是在高并發下 Nginx 能保持低資源低消耗高性能。Nginx 的優點還包括:高度模塊化的設計,模塊編寫簡單,以及配置文件簡潔。
相比起在Linux下的Nginx,在Windows Server下的Nginx的穩定性較差。而Apache對兩者都有較好的支持。
截至2019年12月,差不多世界上每3個網站中就有1個使用Nginx。
詳細請前往Nginx官網查閱:nginx.org
3.5 IIS、Apache、Tomcat和Nginx的簡單的比較比較選項/WEB服務器IISApacheTomcatNginx服務器包括HTTP服務器HTTP服務器Java應用服務器輕量級HTTP服務器是否支持靜態網頁是是是(不理想)是自身是否支持動態網頁是否是否廠商微軟ApacheApacheNginx社區價格收費免費免費免費(有收費版)支持的操作系統僅限WindowsWindows、LinuxWindows、LinuxWindows(不理想)、Linux參考資料 Microsoft Docs:IIS Web Server Overview
Microsoft Docs:Internet Information Services (IIS)
到此這篇關于Windows Server 2019 Web服務IIS配置與管理理論篇(術語解釋、工作原理與常見的WEB服務器)的文章就介紹到這了,更多相關win2019 IIS配置與管理內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: