Graeme Geldenhuys wrote 10 lines
Hi,
I am new to web applications. How does Apache Modules differ from CGI apps?
CGI Apps:
* The application executes, creates output and exits.
* Nothing stays in memory between user input
Apache Modules:
* no idea?
* You can create a pure cgi program that will stay resident in memory (mod_per/python as examples), but you can create extensions and additional things for Apache itself, such as header manipulation (that's what mod_security does) or handling of gzip parameters and much more.
* Can things be kept in memory between user input? example: When
retrieving data from a database, can the connection be kept open?
* Yes you can. But the hard question is how would you do it ? how can I know what I should give to specific connection ? if I have 2 communication from the same user, how can I find the difference ? but basically you can.
The thing is that you are getting a sub process that keep execute itself, rather then open a new child, execute things, close the child and any other connection. Here things keep on running until you will stop apache.
* can I load user data (example: login data) and keep in available
while the user is working inside the web app?
* a bad security idea (memory leaks, shard memory, virtual host issues etc... )sometimes jails are not that helpful.
Is there a good resource on the web explaining the differences? Any
help would be great.
Think about plugins vs content ... plugins are not just for web application development, but sometimes for the server itself (most of the time that is), while content, like cgi, just generate data on demand.
Regards,
Graeme.
Ido