http協議全面講解

接受請求的模型:html

併發訪問響應模型:nginx

單進程I/O模型:啓動一個進程處理用戶請求;這意味着,一次只能處理一個請求,多個請求被串行響應web

多進程I/O結構:由父進程並行啓動多個子進程,每一個子進程響應一個請求apache

複用的I/O結構:一個進程響應n個請求windows

多線程模式:一個進程產生n個線程,一個線程處理一個請求 --單進程所建立的高效並行工做線程數量有限服務器

事件驅動(event-driven):一個進程直接處理n個請求 --是當前較新的併發模型多線程

複用的多進程I/O結構:啓動多個(m)個進程,每一個進程生成(n)個線程併發

響應的請求數量:m*n負載均衡

http服務程序:jsp

httpd(apache)

nginx

lighttpd

應用程序服務器

IIS①:.Net

tomacat: .jsp

www.netcraft.com 數據挖掘站點 統計各web站點使用web程序

httpd的安裝和使用:

ASF:apache software foundation②

httpd: apache

a patchy server = apache

httpd

httpd的特性:

高度模塊化:core+modules

DSO③:dynamic shared object

MPM:Multipath processing Modules(多路處理模塊) 同時響應多個用戶請求

prefork:多進程模型,每一個進程響應一個請求;--二級結構

一個主進程:負責生成子進程及回收子進程;負責建立套接字;負責接收請求,並將其派發給某子進程進行處理;

n個子進程:每一個子進程處理一個請求

工做模型:會預先生成幾個空閒進程,隨時等待用於響應用戶請求;最大空閒和最小空閒進程數量,超出最大空閒的進程會被銷燬

worker:多進程多線程模型,每線程處理一個用戶請求;--三級結構

一個主進程:負責生成子進程;負責建立套接字;負責接收請求,並將其派發給某子進程進行處理;

多個子進程:每一個子進程負責生成多個線程

每一個線程:負責響應用戶請求

併發響應數量:m*n

m:子進程數量

n:每一個子進程所能建立的最大線程數量

event:事件驅動模型,多進程模型,每一個進程響應多個請求;--二級結構

一個主進程:負責生成子進程;負責建立套接字;負責接收請求,並將其派發給某子進程進行處理;

子進程:基於事件驅動機制直接響應多個請求;

httpd-2.2:仍爲測試使用模型

httpd-2.4:event可生產環境中使用;

httpd的功能特性:

CGI④:Common Gateway Interface

虛擬主機:IP,PORT,FQDN

反向代理

負載均衡

路徑別名

豐富的用戶認證機制

basic

digest

支持第三方模塊

......

安裝httpd:

rpm包:CentOS發行版中直接提供

編譯安裝:定製新功能,或其餘緣由

CentOS6:httpd-2.2

程序環境:

配置文件

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

服務腳本:

/etc/rc.d/init.d/httpd

腳本配置文件:/etc/sysocnfig/httpd

主程序文件:

/usr/sbin/httpd

/usr/sbin/httpd.event

/usr/sbin/httpd.worker

日誌文件:

/var/log/httpd:

access_log:訪問日誌

error_log:錯誤日誌

站點文檔:

/var/www/html

模塊文件路徑:

/usr/lib64/httpd/modules

CentOS7:httpd-2.4

程序環境:

配置文件

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

模塊相關配置文件:/etc/httpd/conf.modules.d/*.conf

systemd unit file:

/usr/lib/systemd/system/httpd.service

主程序文件:

/usr/sbin/httpd

httpd-2.4支持MPM的動態切換

日誌文件:

/var/log/httpd:

access_log:訪問日誌

error_log:錯誤日誌

站點文檔:

/var/www/html

模塊文件路徑:

/usr/lib64/httpd/modules

服務器控制:

systemctl enable | disable httpd.service

systemctl {start|status|stop|restart} httpd.service

 

注:

①是windows server自帶的web服務器

②兩大開源組織FSF(自由軟件基金會)和ASF(apache軟件基金會) httpd屬於ASF

③DSO動態共享對象

④CGI通用網關接口 --支持動態網站技術的接口

相關文章
相關標籤/搜索