Web伺服器的原理

2022-09-13 07:06:09 字數 2033 閱讀 4938

web伺服器也稱為www(world wide web)伺服器,主要功能是提供網上資訊瀏覽服務。 www 是 internet 的多**資訊查詢工具,是 internet 上近年才發展起來的服務,也是發展最快和目前用的最廣泛的服務。正是因為有了www工具,才使得近年來 internet 迅速發展,且使用者數量飛速增長。

web伺服器是可以向發出請求的瀏覽器提供文件的程式。

1、伺服器是一種被動程式:只有當internet上執行其他計算機中的瀏覽器發出的請求時,伺服器才會響應。

2 、最常用的web伺服器是apache和microsoft的internet資訊伺服器(internet information services,iis)。

3、internet上的伺服器也稱為web伺服器,是一台在internet上具有獨立ip位址的計算機,可以向internet上的客戶機提供www、email和ftp等各種internet服務。

4web伺服器是指駐留於網際網路上某種型別計算機的程式。當web瀏覽器(客戶端)連到伺服器上並請求檔案時,伺服器將處理該請求並將檔案反饋到該瀏覽器上,附帶的資訊會告訴瀏覽器如何檢視該檔案(即檔案型別)。伺服器使用http(超文字傳輸協議)與客戶機瀏覽器進行資訊交流,這就是人們常把它們稱為http伺服器的原因。

web伺服器不僅能夠儲存資訊,還能在使用者通過web瀏覽器提供的資訊的基礎上執行指令碼和程式。

web伺服器的工作原理並不複雜,一般可分成如下4個步驟:連線過程、請求過程、應答過程以及關閉連線。下面對這4個步驟作一簡單的介紹。連線過程就是web伺服器和其瀏覽器之間所建立起來的一種連線。檢視連線過程是否實現,使用者可以找到和開啟socket這個虛擬檔案,這個檔案的建立意味著連線過程這一步驟已經成功建立。請求過程就是web的瀏覽器運用socket這個檔案向其伺服器而提出各種請求。應答過程就是運用http協議把在請求過程中所提出來的請求傳輸到web的伺服器,進而實施任務處理,然後運用http協議把任務處理的結果傳輸到web的瀏覽器,同時在web的瀏覽器上面展示上述所請求之介面。關閉連線就是當上乙個步驟--應答過程完成以後,web伺服器和其瀏覽器之間斷開連線之過程。web伺服器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支援多個程序、多個執行緒以及多個程序與多個執行緒相混合的技術。

web伺服器由於要同時為多個客戶提供服務,就必須使用某種方式來支援這種多工的服務方式。一般情況下可以有以下三種方式來選擇,多程序方式、多執行緒方式及非同步方式。其中,多程序方式中伺服器對乙個客戶要使用乙個程序來提供服務,由於在作業系統中,生成乙個程序需要程序記憶體複製等額外的開銷,這樣在客戶較多時的效能就會降低。為了克服這種生成程序的額外開銷,可以使用多執行緒方式或非同步方式。在多執行緒方式中,使用程序中的多個執行緒提供服務, 由於執行緒的開銷較小,效能就會提高。事實上,不需要任何額外開銷的方式還是非同步方式,它使用非阻塞的方式與每個客戶通訊,伺服器使用乙個程序進行輪詢就行了。

雖然非同步方式最為高效,但它也有自己的缺點。因為非同步方式下,多個任務之間的排程是由伺服器程式自身來完成的,而且一旦乙個地方出現問題則整個伺服器就會出現問題。因此,向這種伺服器增加功能,一方面要遵從該伺服器自身特定的任務排程方式,另一方面要確保**中沒有錯誤存在,這就限制了伺服器的功能,使得非同步方式的web伺服器的效率最高,但功能簡單,如nginx伺服器。

多程序方式的優勢就在於穩定性,因為乙個程序退出的時候,作業系統會**其占用的資源,從而使它不會留下任何垃圾。即便程式**現錯誤,由於程序是相互隔離的,那麼這個錯誤不會積累起來,而是隨著這個程序的退出而得到清除。apache的prefork模組就是支援多程序的模組。

從上圖中我們可以看到有11步,下面我們來具體說一下,

簡單來說就是:使用者請求-->送達到使用者空間-->系統呼叫-->核心空間-->核心到磁碟上讀取網頁資源->返回到使用者空間->響應給使用者。上述簡單的說明了一下,客戶端向web服務請求過程,在這個過程中,有兩個i/o過程,乙個就是客戶端請求的網路i/o,另乙個就是web伺服器請求頁面的磁碟i/o。 下面我們就來說說linux的i/o模型。

伺服器/8390210?fr=aladdin

web伺服器原理

一 概述 web伺服器概念較為廣泛,我們最常說的web伺服器指的是 伺服器,它是建立在internet之上並且駐留在某種計算機上的程式。web伺服器可以向web客戶端 如瀏覽器 提供文件或其他服務,只要是遵循http協議而設計的網路應用程式都可以是web客戶端。二 web伺服器工作原理 假設把瀏覽器...

web伺服器原理初探

一 靜態網頁的工作原理如下 a 使用者在瀏覽器的位址列輸入要訪問的位址並回車,觸發這個瀏覽請求。b 瀏覽器將請求傳送到web伺服器。c web伺服器接受這個請求,並根據請求檔案的字尾名判定是否為html檔案。d web伺服器從伺服器硬碟的指定位置或記憶體中讀取正確的html檔案然後將它傳送給請求瀏覽...

web伺服器 簡單web伺服器實現

三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...