web伺服器apache架構與原理

2021-09-23 21:27:22 字數 2762 閱讀 3595

web伺服器

在開始了解apache前,我們先熟悉一下web伺服器,因為apache也是web伺服器的一種。

web系統由客戶端(瀏覽器)和伺服器端兩部分組成。web系統架構也被稱為b/s架構。最常見的web伺服器有apache、iis等,常用的瀏覽器有ie、firefox、chrome等。 當你想訪問乙個網頁時,需要在瀏覽器的位址列中輸入該網頁的url(uniform resource locator,簡稱為url)位址,或者是通過 超連結鏈結到該網頁。瀏覽器會向該網頁所在的伺服器傳送乙個http請求,伺服器會對接收到的請求資訊進行處理,然後將處理的結果返回給瀏覽器,最終將瀏 覽器處理後的結果呈現給使用者。

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伺服器結束整個會話。它關閉開啟的的被請求檔案,關閉網路埠從而結束網路連線。有關的其它工作則是由客戶端來完成的,包括接收資料,並以使用者可讀的方式呈現出來。這些與伺服器無關。

apache架構

apache 作為歷史最悠久的

web伺服器,一直是

web應用系統的首選,是世界上被廣泛應用的

web 

伺服器軟體,它可以執行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的

web伺服器端軟體之一,也是流行架構

lamp

的重要組成部分。

作為世界上最流行的web伺服器,apache遵循的同樣是http協議,預設埠號為80。下面來是apache 架構圖。

apache 特點:

apache工作模擬

apache 2.x  支援插入式並行處理模組,稱為多路處理模組(

mpm)。在編譯

apache

時必須選擇也只能選擇乙個

mpm,對類

unix

系統,有幾個不同的

mpm可供選擇,它們會影響到

apache

的速度和可伸縮性。

worker mpm: 使用多個子程序,每個子程序中又有多個執行緒。每個執行緒處理乙個請求,該

mpm通常對高流量的伺服器是乙個不錯的選擇。因為它比

prefork mpm

需要更少的記憶體且更具有伸縮性。

prefork mpm: 使用多個子程序,但每個子程序不包含多執行緒。每個程序只處理乙個連線。在許多系統上它的速度和

worker mpm

一樣快,但是需要更多的記憶體。這種無線程的設計在某些性況下優於

worker mpm

,因為它可在應用於不具備執行緒安全的第三方模組上(如 

php3/4/5

),且在不支援執行緒除錯的平台上易於除錯,另外還具有比

worker mpm

更高的穩定性。 

(後面會介紹如果這兩種模式以及apache更多的設定與監控等)

Apache 安裝WEB伺服器Apache教程

apache 安裝web伺服器apache教程 在下也是在第一次接觸php的時候,因為需要去安裝了apache,查了很多大哥們的教程,也正是因為查了很多,所以發現有的缺,有的齊,作為學習記錄,我把自己遇到的安裝問題記錄下來,希望各位大神們發現有錯有漏的指點指點。32位 64位 我將檔案解壓在了如後路...

搭建web伺服器 Apache伺服器

一.安裝apache 二.載入php解析模組,並指定模組處理檔案的型別 編輯httpd.conf 檔案 so檔案是linux下的c編譯的可執行檔案 這一項可以改為你真正願意放置專案檔案的磁碟 寫乙個指令碼測試一下,如果解析成功意味著php解析器載入成功 三.讓php處理資料庫 放到documentr...

Web伺服器 Apache認識與描述

伺服器是提供計算服務的裝置。由於伺服器需要響應服務請求,並進行處理,因此一般來說伺服器應具備承擔服務並且保障服務的能力。apache是世界使用排名第一的web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的web伺服器端軟體之一。它快速 可靠並且可通...