Project

General

Profile

DevelProblemAndSolution » History » Revision 2

Revision 1 (moo, 2007-08-14 04:27) → Revision 2/19 (moo, 2007-08-14 04:51)

[[PageOutline]] 

 = Developmenet Problem And Solution = 
 This page is meant to list Problem And Solutions implementing lighttpd. Any feature requests should be go to [/trac/newticket ticket system]. 

 = Redundant FastCGI/SCGI etc = == 

 == === Problem == === 
 In lighttpd 1.4, most of the source code of mod_cgi, mod_scgi and mod_proxy were cut'n'pasted from mod_fastcgi. 

 Why: Redundant code make it hard to maintain.  

 == === Solution == === 
 combine them into mod_proxy_core and add protocols around it 
     * the core provides 
           * config handling 
           * connect/retry on failure 
           * fork/restart worker child on dead. (easier to improve native win32 support) 
           * balancing 
           * x-sendfile  
     * the protocol backends take care of 
           * preparing the environment (most cgi env code can be shared) 
           * encode/decode data 
           * handle io  

 Why: scgi/fastcgi/ejb/http or whatever, are just protocols that we can use to send requests to and get response from backend. 

 == === Status == === 
 Implemented in 1.5.0