日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

PHP內(nèi)核探索 —— Apache運(yùn)行與鉤子函數(shù)

瀏覽:18日期:2022-09-16 11:47:24

Apache是目前世界上使用最為廣泛的一種Web Server,它以跨平臺(tái)、高效和穩(wěn)定而聞名。按照去年官方統(tǒng)計(jì)的數(shù)據(jù),Apache服務(wù)器的裝機(jī)量占該市場(chǎng)60%以上的份額。尤其是在X(Unix/Linux)平臺(tái)上,Apache是最常見的選擇。其它的Web Server產(chǎn)品,比如IIS,只能運(yùn)行在Windows平臺(tái)上,是基于微軟.Net架構(gòu)技術(shù)的不二選擇。

Apache并不是沒有缺點(diǎn),它最為詬病的一點(diǎn)就是變得越來越重,被普遍認(rèn)為是重量級(jí)的WebServer。所以,近年來又涌現(xiàn)出了很多輕量級(jí)的替代產(chǎn)品,比如lighttpd,nginx等等,這些WebServer的優(yōu)點(diǎn)是運(yùn)行效率很高,但缺點(diǎn)也很明顯,成熟度往往要低于Apache,通常只能用于某些特定場(chǎng)合。

Apache的運(yùn)行過程

Apache的運(yùn)行分為啟動(dòng)階段和運(yùn)行階段。 在啟動(dòng)階段,Apache為了獲得系統(tǒng)資源最大的使用權(quán)限,將以特權(quán)用戶root(*nix系統(tǒng))或超級(jí)管理員Administrator(Windows系統(tǒng))完成啟動(dòng), 并且整個(gè)過程處于一個(gè)單進(jìn)程單線程的環(huán)境中。 這個(gè)階段包括配置文件解析(如http.conf文件)、模塊加載(如mod_php,mod_perl)和系統(tǒng)資源初始化(例如日志文件、共享內(nèi)存段、數(shù)據(jù)庫(kù)連接等)等工作。

Apache的啟動(dòng)階段執(zhí)行了大量的初始化操作,并且將許多比較慢或者花費(fèi)比較高的操作都集中在這個(gè)階段完成,以減少了后面處理請(qǐng)求服務(wù)的壓力。

在運(yùn)行階段,Apache主要工作是處理用戶的服務(wù)請(qǐng)求。 在這個(gè)階段,Apache放棄特權(quán)用戶級(jí)別,使用普通權(quán)限,這主要是基于安全性的考慮,防止由于代碼的缺陷引起的安全漏洞。 Apache對(duì)HTTP的請(qǐng)求可以分為連接、處理和斷開連接三個(gè)大的階段。同時(shí)也可以分為11個(gè)小的階段,依次為: Post-Read-Request,URI Translation,Header Parsing,Access Control,Authentication,Authorization, MIME Type Checking,F(xiàn)ixUp,Response,Logging,CleanUp

Apache Hook機(jī)制

Apache的Hook機(jī)制是指:Apache 允許模塊(包括內(nèi)部模塊和外部模塊,例如mod_php5.so,mod_perl.so等)將自定義的函數(shù)注入到請(qǐng)求處理循環(huán)中。換句話說,模塊可以在Apache的任何一個(gè)處理階段中掛接(Hook)上自己的處理函數(shù),從而參與Apache的請(qǐng)求處理過程。

mod_php5.so/ php5apache2.dll就是將所包含的自定義函數(shù),通過Hook機(jī)制注入到Apache中,在Apache處理流程的各個(gè)階段負(fù)責(zé)處理php請(qǐng)求。

關(guān)于Hook機(jī)制在Windows系統(tǒng)開發(fā)也經(jīng)常遇到,在Windows開發(fā)既有系統(tǒng)級(jí)的鉤子,又有應(yīng)用級(jí)的鉤子。常見的翻譯軟件(例如金山詞霸等等)的屏幕取詞功能,大多數(shù)是通過安裝系統(tǒng)級(jí)鉤子函數(shù)完成的,將自定義函數(shù)替換gdi32.dll中的屏幕輸出的繪制函數(shù)。

Apache 服務(wù)器的體系結(jié)構(gòu)的最大特點(diǎn),就是高度模塊化。如果你為了追求處理效率,可以把這些dso模塊在apache編譯的時(shí)候靜態(tài)鏈入,這樣會(huì)提高Apache 5%左右的處理性能。

Apache請(qǐng)求處理循環(huán)

Apache請(qǐng)求處理循環(huán)的11個(gè)階段都做了哪些事情呢?

Post-Read-Request階段。在正常請(qǐng)求處理流程中,這是模塊可以插入鉤子的第一個(gè)階段。對(duì)于那些想很早進(jìn)入處理請(qǐng)求的模塊來說,這個(gè)階段可以被利用。URI Translation階段。Apache在本階段的主要工作:將請(qǐng)求的URL映射到本地文件系統(tǒng)。模塊可以在這階段插入鉤子,執(zhí)行自己的映射邏輯。mod_alias就是利用這個(gè)階段工作的。Header Parsing階段。Apache在本階段的主要工作:檢查請(qǐng)求的頭部。由于模塊可以在請(qǐng)求處理流程的任何一個(gè)點(diǎn)上執(zhí)行檢查請(qǐng)求頭部的任務(wù),因此這個(gè)鉤子很少被使用。mod_setenvif就是利用這個(gè)階段工作的。Access Control階段。?Apache在本階段的主要工作:根據(jù)配置文件檢查是否允許訪問請(qǐng)求的資源。Apache的標(biāo)準(zhǔn)邏輯實(shí)現(xiàn)了允許和拒絕指令。mod_authz_host就是利用這個(gè)階段工作的。Authentication階段。Apache在本階段的主要工作:按照配置文件設(shè)定的策略對(duì)用戶進(jìn)行認(rèn)證,并設(shè)定用戶名區(qū)域。模塊可以在這階段插入鉤子,實(shí)現(xiàn)一個(gè)認(rèn)證方法。Authorization階段。?Apache在本階段的主要工作:根據(jù)配置文件檢查是否允許認(rèn)證過的用戶執(zhí)行請(qǐng)求的操作。模塊可以在這階段插入鉤子,實(shí)現(xiàn)一個(gè)用戶權(quán)限管理的方法。MIME Type Checking階段。Apache在本階段的主要工作:根據(jù)請(qǐng)求資源的MIME類型的相關(guān)規(guī)則,判定將要使用的內(nèi)容處理函數(shù)。標(biāo)準(zhǔn)模塊mod_negotiation和mod_mime實(shí)現(xiàn)了這個(gè)鉤子。FixUp階段。這是一個(gè)通用的階段,允許模塊在內(nèi)容生成器之前,運(yùn)行任何必要的處理流程。和Post_Read_Request類似,這是一個(gè)能夠捕獲任何信息的鉤子,也是最常使用的鉤子。Response階段。Apache在本階段的主要工作:生成返回客戶端的內(nèi)容,負(fù)責(zé)給客戶端發(fā)送一個(gè)恰當(dāng)?shù)幕貜?fù)。這個(gè)階段是整個(gè)處理流程的核心部分。Logging階段。Apache在本階段的主要工作:在回復(fù)已經(jīng)發(fā)送給客戶端之后記錄事務(wù)。模塊可能修改或者替換Apache的標(biāo)準(zhǔn)日志記錄。CleanUp階段。?Apache在本階段的主要工作:清理本次請(qǐng)求事務(wù)處理完成之后遺留的環(huán)境,比如文件、目錄的處理或者Socket的關(guān)閉等等,這是Apache一次請(qǐng)求處理的最后一個(gè)階段。
標(biāo)簽: PHP
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
青草av.久久免费一区| 一本色道久久精品| 久久女人天堂| 深夜福利视频一区二区| 欧美日韩水蜜桃| 蜜臀av性久久久久蜜臀aⅴ流畅| 香蕉精品999视频一区二区| 亚洲人成精品久久久| 国产精品久久国产愉拍| 天堂av在线| 久久亚洲国产精品一区二区| 国产美女亚洲精品7777 | 97久久超碰| 日产精品一区二区| 亚洲欧洲午夜| 国产欧美日韩精品一区二区三区| 热三久草你在线| 欧美综合二区| 老司机免费视频一区二区三区| 天堂√8在线中文| 亚洲网址在线观看| 国产一区二区三区黄网站| 欧美日韩国产欧| 国产精品久久久久久久久久齐齐 | 免费高潮视频95在线观看网站| 亚洲一区二区三区免费在线观看| 国产精品亚洲二区| 日韩电影在线视频| 日韩在线观看一区二区三区| 日韩国产一区二区| 日韩中文av| 亚洲a在线视频| 欧美一区二区三区久久精品| 国产99久久| 久久国产欧美日韩精品| 欧美中文一区二区| 国产福利一区二区精品秒拍| 午夜国产精品视频| 久久男人av| 亚洲69av| 99精品在线免费在线观看| 日韩高清成人在线| 999久久久国产精品| 久久国产生活片100| 国产精品视区| 日韩久久视频| 国产精品欧美日韩一区| 亚洲在线观看| 色一区二区三区| 国产探花一区在线观看| 在线亚洲一区| 成人自拍av| 国产日韩视频| 蜜臀av一区二区三区| 99久久视频| 老牛国内精品亚洲成av人片| 天海翼亚洲一区二区三区| 亚洲永久av| 久久99免费视频| 日韩欧美三区| 999在线观看精品免费不卡网站| 日韩av免费大片| 国产亚洲欧美日韩在线观看一区二区| 视频一区免费在线观看| 欧美日韩一二| 电影91久久久| 牛牛精品成人免费视频| 婷婷五月色综合香五月| 免费精品视频| 欧美一区二区三区激情视频| 日本不卡免费高清视频在线| 久久亚洲人体| 欧美一区二区三区久久精品| 亚洲精品第一| 蜜臀av一区二区三区| 欧美特黄一区| 亚洲福利免费| 日韩av首页| www在线观看黄色| 久久精品免视看国产成人| 欧美日韩 国产精品| 亚洲精品一二三**| 美国欧美日韩国产在线播放| 一区免费视频| 亚洲欧洲日本mm| 红桃视频国产精品| 欧美精品一区二区三区精品| 欧美久久天堂| 国产美女高潮在线观看| 麻豆高清免费国产一区| 国产精品99久久久久久董美香| 日韩一区二区三区高清在线观看| 免费观看在线综合| 蜜臀av亚洲一区中文字幕| 亚洲一区成人| 一区二区精品| 日韩av午夜在线观看| 91麻豆精品| 国产精品综合色区在线观看| 欧美日韩亚洲一区| 国产精品一区二区三区美女| 欧美日韩中出| 91精品日本| 久久国产精品免费精品3p| 国产精品大片| 激情不卡一区二区三区视频在线| 欧美激情一区| 国产一区二区三区四区二区 | 天堂成人免费av电影一区 | 国产丝袜一区| 麻豆精品在线| 一区二区精品伦理...| 国产suv精品一区| av免费不卡国产观看| 伊人久久高清| 国产农村妇女精品一二区| 蜜臀精品久久久久久蜜臀| 91精品啪在线观看国产爱臀| 精品一区二区三区在线观看视频| 国产a久久精品一区二区三区| 日韩高清中文字幕一区二区| 精品91久久久久| 亚洲精品国产精品粉嫩| 国产亚洲高清一区| 日本精品黄色| 午夜精品影院| 亚洲精品系列| 国产亚洲精品美女久久| 国产第一亚洲| japanese国产精品| 亚洲精品乱码| 精品免费视频| 亚洲国产综合在线看不卡| 视频一区二区三区入口| 国产日韩一区二区三区在线播放 | 超碰在线99| 午夜精品影院| 97久久超碰| 美女一区网站| 亚洲一区日本| 国产精品一区亚洲| 狠狠躁少妇一区二区三区| 在线看片不卡| 国产精一区二区| 999久久久亚洲| 91嫩草精品| 日韩欧美一区免费| 美美哒免费高清在线观看视频一区二区 | а√天堂8资源中文在线| 亚洲一区日韩在线| 久久av网址| 亚洲精品1区| 7777精品| 99久久亚洲精品蜜臀| 91嫩草精品| 久久精品青草| 欧美日韩99| 亚洲天堂久久| 国产精品欧美一区二区三区不卡| 丝袜av一区| 日韩黄色av| 久久久久久久欧美精品| 日韩不卡一区二区| 日韩免费在线| 日韩精品免费观看视频| 肉色欧美久久久久久久免费看| 三级一区在线视频先锋| 粉嫩av一区二区三区四区五区| 亚洲永久字幕| 中文字幕在线视频网站| 日韩欧美中文字幕在线视频| 99久久九九| 久久99影视| 亚洲午夜久久| 亚洲国产专区校园欧美| 欧美激情aⅴ一区二区三区| 天堂成人国产精品一区| 欧美aa在线观看| 国产精品草草| 日韩一区精品视频| 日韩欧美1区| 国产午夜精品一区在线观看| 亚洲一卡久久| 日韩黄色大片网站| 国产精品大片| 亚洲免费毛片| 欧美福利在线| 福利一区二区| 日韩一区二区三区精品| 91久久久精品国产| 日韩成人a**站| 国产欧美一区| 蜜臀91精品一区二区三区| 亚洲精品一区三区三区在线观看| 国产精品网站在线看| 蜜桃传媒麻豆第一区在线观看| 99久久99久久精品国产片果冰| 国产一区二区三区天码| 国产精品激情| 91福利精品在线观看|