DevelProblemAndSolution » History » Revision 5
« Previous |
Revision 5/19
(diff)
| Next »
moo, 2007-08-14 05:05
= 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 =
ProblemIn lighttpd 1.4, most of the source code of mod_cgi, mod_scgi and mod_proxy were cut'n'pasted from mod_fastcgi.
Why problem: Redundant code make it hard to maintain.
SolutionCombine 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.
StatusImplemented in 1.5.0
= Redundant and simple config handling =
ProblemThe current config handling is done in core and plugin. The core parse it, convert the config into a conditional tree, and the plugin pick on of the values (use PATCH) and use it.
Why problem: It's sure easier to fix the 1 core instead of all the plugins, the plugin is still handling too much config handling logical and i't hard to improve.
SolutionCombine most of config handling into core, including: * alloc/free plugin data * init default values * insert values from config (into plugin data) * patch(pick) values from plugin data for connection. this is done by calling a function ptr, but we can kill the string comparisons, lower or higher performance? Status
Scheduled but not done, and is likely to be post pound to next major release.
= .htaccess =
Problem
Solution
Status
Updated by moo over 17 years ago · 19 revisions