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