note
ajt
<p><strong>CGI</strong> works on most web servers, where it forks an environment to run the process. This gives you a robust solution, poor scripts can't pollute the web server, or each other, however each fork takes CPU cycles and memory, so CGI is slow.</p>
<p><strong>In Process</strong> technologies like mod_Perl or ASP load the interpreter into the webserver on start up and all the scripts are compiled into the server. This avoids the overhead of forking each time a request comes in, so it's much faster, but any leak in your code, and the leak goes into the whole process - you MUST write your code tight to avoid any problem.</p>
<p>ASP is a proprietary MS technology and only runs on IIS, which isn't very stable, secure and only has 25% of the market. There are ways to run ASP via emulation in mod_Perl - it's supposed to be faster than MS's ASP, but it's not 100% compatible.</p>
<p>Most of the time you can get by, by writing your code for CGI, it's easier to test and develop on, and it's robust so unless you have a lot of traffic it's usually good enough.</p>
<p>See also:</p>
<ul>
<li>[id://186137]</li>
<li>[id://45403]</li>
<li><a href="http://www.perl.com/pub/a/2001/10/17/etoys.html"> Building a Large-scale E-commerce Site with Apache and mod_perl</a></li>
<li><a href="http://perl.apache.org/">Mod_Perl</a> home page.</li>
<li>[id://206256]</li>
<li>[id://81580]</li>
<li>[id://123322]</li>
<li>[id://145350]</li>
<li>[id://186137]</li>
<li>[id://198080]</li>
</ul>
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-113686">
<br/>--<br />
<a href="http://use.perl.org/~ajt/journal/">ajt</a>
</div></div>
432988
432988