2017-08-11 36 views
1

通過該機構runtine期間加載apache的模塊,或者啓動期間?是否在該過程中使用的等間通信機制? apache主動調用模塊中的方法,或者模塊本身調用apache方法,或者兩者兼有。如何在阿帕奇2.2模塊操作

例如,get請求commes到apache和mod_spnego(Kerberos驗證)被加載。 apache如何知道何時在模塊代碼中調用main函數?

回答

0

Apache及其模塊以C語言編寫。模塊在啓動過程中從共享目標文件(Unix上的.so,Windows上的.dllDynamic Shared Object s)中加載。當構建執行Apache,它也可能靜態編譯模塊插入httpd二進制文件。兩種方式,他們都從相同的過程中工作。

如何阿帕奇知道何時調用主功能模塊的代碼?

看看這些文章,看看有什麼說一下

  • 的Apache 2.2,Converting Modules from Apache 1.3 to Apache 2.0

    新架構採用鉤子,以提供調用 的功能。這些你需要一個新的 功能,static void register_hooks(void)的方式添加到您的模塊。一旦你理解了需要完成的功能,該功能真的是合理簡單的 。需要註冊 需要在一個 請求的處理某個階段調用每個函數,處理程序沒有。

  • Developing modules for the Apache HTTP Server 2.4

    當處理在Apache HTTP服務器2.4的請求,你 需要做的第一件事情就是創建一個勾入請求處理過程。 hook基本上是一條消息,告訴服務器您願意 服務於或至少查看 客戶給出的某些請求。所有的處理程序,無論是mod_rewrite,mod_authn_ *, mod_proxy等,都被掛鉤到請求 進程的特定部分。正如你可能知道的那樣,模塊服務於不同的目的; 一些是認證/授權處理程序,其他的是文件或 腳本處理程序,而一些第三模塊重寫URI或代理 內容。