These things are *very* applicable to "the Internet and CGI".
On systems that support them (for forking,
usually UN*X or a derivative is required for
good behavior), they are incredibly powerful.
My hunch is you may not understand what they
actually are, as I suspect comprehension of
that should answer your question.
perlipc
has a good and thorough explanation, but it's
mostly a how. A good perl book would go a long
ways in describing what, but I can try.
Pipes are one manner of letting processes communicate.
Your CGI programs are probably communicating
with the web server over a pipe, but you
don't have to know that. That's one of the
beautiful things about pipes. The web server
is talking with your web browser over a socket,
but both of them have to be aware of this and
share an agreed-upon language and etiquette. As for children,
forking simply creates another process
(running instance of the program) that can do work.
There's also some extra stuff like the fact
that it's quicker than actually running the
same program again, efficient(YMMV), and
requires a little maintenance.
Another way to think of it is in terms of farming.
A farm is a lot of work, if you have lots of
children you can pawn the work off on them.
--
I'm not belgian but I play one on TV.