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

曉元件發表於2019-02-21

阿里雲代金券 | 阿里雲優惠券 |阿里雲優惠碼|雲伺服器|阿里雲|阿里雲代金券 – 限時領取1000元阿里雲代金券

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;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。

阿里雲代金券 | 阿里雲優惠券 |阿里雲優惠碼|雲伺服器|阿里雲|阿里雲代金券 – 限時領取1000元阿里雲代金券


相關文章