Web服務器的工作原理及其相關協議

WEB服務器也稱爲WWW(WORLD WIDE WEB)服務器,主要功能是提供網上信息瀏覽服務。 通俗的說,Web服務器是可以向發出請求的瀏覽器提供文檔的程序。
1、服務器是一種被動程序:只有當Internet上運行在其他計算機中的瀏覽器發出請求時,服務器纔會響應。
2 、最常用的Web服務器是Apache和Microsoft的Internet信息服務器(Internet Information Services,IIS)。
3、Internet上的服務器也稱爲Web服務器,是一臺在Internet上具有獨立IP地址的計算機,可以向Internet上的客戶機提供WWW、Email和FTP等各種Internet服務。
4、Web服務器是指駐留於因特網上某種類型計算機的程序。當Web瀏覽器(客戶端)連到服務器上並請求文件時,服務器將處理該請求並將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。服務器使用HTTP(超文本傳輸協議)與客戶機瀏覽器進行信息交流,這就是人們常把它們稱爲HTTP服務器的原因。
Web服務器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎上運行腳本和程序。

Web服務器的工作原理:

(1)客戶端發送請求

  客戶端(通過瀏覽器)和Web服務器建立TCP連接,連接建立以後,向Web服務器發出訪問請求(如get)。根據HTTP協議,該請求中包含了客戶端的IP地址、瀏覽器的類型和請求的URL等一系列信息。

(2)服務器解析請求

  Web服務器對請求按照HTTP協議進行解碼來確定進一步的動作,設計的內容有三個要點:方法(GET)、文檔(/sample.html)、和瀏覽器使用的協議(HTTP/1.1)其中方法告訴服務器應完動的動作,GET方法的含義很明顯是:服務器應定位、讀取文件並將它返回給客戶。

Web服務器軟件現在就知道了,它應該找到文件/sample.html,並使用HTTP/1.1協議將內存返回給客戶。信息是經過與請求到來相同的連接發出的,所以服務器不需要定們客戶或創建新的連接。

(3)讀取其它信息(非必須步驟)

  Web服務器根據需要去讀取請求的其它部分。在HTTP/1.1下,客戶還應給服務器提供關於它的一些信息。元信息(metainformation)可用來描述瀏覽器及其能力,以使服務器能據此確定如何返回應答。

(4)完成請求的動作

  若現在沒有錯誤出現,WWW服務器將執行請求所要求的動作。要獲取(GET)一個文檔,web服務器在其文檔樹中搜索請求的文件(/sample.html)。這是由服務器機器上作爲操作系統一部分的文件系統完成的。若文件能找到並可正常讀取,則服務器將把它返回給客戶。

  首先,web服務器發送一個狀態碼及一些描述信息。既然文件已經找到,則發送狀態碼200,表示一切都OK ,文檔隨後發出,因爲發送的信息是HTML文檔,所以Content-type 取值爲text/html。文檔長爲1024個字節,所以Content-type 取1024 。服務器軟件的標識及文件的時間屬性信息也被包含在頭域中。

  如果請求的文件沒有找到或找到但無法讀取,測請求無法滿足。這時將返回不同於200的狀態碼。最常見的問題是請求中的文件名拼寫有誤,所以服務器無法找到該文件。這種情況下,服務器將發送一個狀態碼—404 給客戶。

(5)關閉文件和網絡連接,結束會話。

當文件已被髮郵或錯誤已發出後,web服務器結束整個會話。它關閉打開的的被請求文件,關閉網絡端口從而結束網絡連接。有關的其它工作則是由客戶端來完成的,包括接收數據,並以用戶可讀的方式呈現出來。這些與服務器無關。

Web服務器是通過HTTP(超文本傳輸協議)與客戶端瀏覽器來進行信息交流的,下面簡單介紹下HTTP。
HTTP協議(超文本協議)
(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

HTTP是客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。在Internet上的Web服務器上存放的都是超文本信息,客戶機需要通過HTTP協議傳輸所要訪問的超文本信息。HTTP包含命令和傳輸信息,不僅可用於Web訪問,也可以用於其他因特網/內聯網應用系統之間的通信,從而實現各類應用資源超媒體訪問的集成。

我們在瀏覽器的地址欄裏輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協議(HTTP),將Web服務器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。

TCP/IP網絡協議
TCP/IP是“transmission Control Protocol/Internet Protocol”的簡寫,中文譯名爲傳輸控制協議/互聯網絡協議)協議, TCP/IP(傳輸控制協議/網間協議)是一種網絡通信協議,它規範了網絡上的所有通信設備,尤其是一個主機與另一個主機之間的數據往來格式以及傳送方式。TCP/IP是INTERNET的基礎協議,也是一種電腦數據打包和尋址的標準方法。在數據傳送中,可以形象地理解爲有兩個信封,TCP和IP就像是信封,要傳遞的信息被劃分成若干段,每一段塞入一個TCP信封,並在該信封面上記錄有分段號的信息,再將TCP信封塞入IP大信封,發送上網。在接受端,一個TCP軟件包收集信封,抽出數據,按發送前的順序還原,並加以校驗,若發現差錯,TCP將會要求重發。因此,TCP/IP在INTERNET中幾乎可以無差錯地傳送數據。 對普通用戶來說,並不需要了解網絡協議的整個結構,僅需瞭解IP的地址格式,即可與世界各地進行網絡通信。

FTP協議(文件傳輸協議)
FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一爲FTP服務器,其二爲FTP客戶端。其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP服務器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web服務器上。此外,由於FTP傳輸效率非常高,在網絡上傳輸大的文件時,一般也採用該協議。
默認情況下FTP協議使用TCP端口中的 20和21這兩個端口,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作爲傳輸數據的端口與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸端口就是20;如果採用被動模式,則具體最終使用哪個端口要服務器端和客戶端協商決定。

發佈了16 篇原創文章 · 獲贊 38 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章