Apache

Apache 1.x Modules

  • Apache relies heavily on modules. The core is actually rather dumb
  • The modules hook into the "work-flow" of Apache by directives in the configuration file
  • Modules contain handlers (functions) which handle various events of the web server operations
  • Modules can be static (linked into the web server executable) or loaded dynamically (dll’s in Windows – Shared Objects in Unix)
  • Modules handle Apache events
    • Server (virtual host) startup / exit
    • Child startup / exit
    • Request handling (from Apache API notes)
      • URI -> Filename translation
      • Auth ID checking [is the user who they say they are?]
      • Auth access checking [is the user authorized here?]
      • Access checking other than auth
      • Determining MIME type of the object requested
      • 'Fixups' --- there aren't any of these yet, but the phase is intended as a hook for possible extensions like SetEnv, which don't really fit well elsewhere
      • Actually sending a response back to the client
      • Logging the request
  • Popular Modules: mod_alias, mod_dir, mod_speling, mod_auth_.., mod_proxy, mod_perl, mod_php, mod_jserv, mod_status, mod_rewrite and many, many more
Previous  Next 

A Presentation by Björn Sveinbjörnsson