File:  [LON-CAPA] / loncom / html / adm / help / tex / Guts_Apache.tex
Revision 1.2: download - view: text, annotated - select for diffs
Mon May 17 22:08:56 2004 UTC (20 years, 2 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_5, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, bz6209-base, bz6209, bz5969, bz2851, PRINT_INCOMPLETE_base, PRINT_INCOMPLETE, HEAD, GCI_3, GCI_2, GCI_1, BZ5971-printing-apage, BZ5434-fox, BZ4492-merge, BZ4492-feature_horizontal_radioresponse
- add missing \label
- add errormessage generation to lonhelp.pm in case it does not find a label for
   the reference

- This should fix #3016, and make it easier to find these errors in the fututre

    1: \label{Guts_Apache}
    2: 
    3: The standard mode in which the Apache web server is used is that a
    4: URL corresponds to some static file on the file system, which then
    5: more or less gets sent out as-is. Slight deviations from that simple
    6: principle are however already the directory listing function, virtual
    7: servers, and the cgi-bin directory. In the latter case, Apache executes
    8: the file in a new process and provides both the input to the process
    9: in the environment, and routes the output to the client. Other deviations
   10: are the error messages.
   11: 
   12: In a more general view, URLs to Apache are URIs (Uniform Resource
   13: Identifiers), which may are may not correspond to a physical file,
   14: which in turn may or may not be sent out as-is.
   15: 
   16: As a request for a URI gets sent to the Apache server, it goes through
   17: several phases. At each phase ({}``stage'') along the process, handler
   18: modules can be defined to deal with the request. Details about these
   19: phases are given in {}``Writing Apache Modules with Perl and C''
   20: from O'Reilly (the {}``Eagle book'') in Chapter 3 (page 60).
   21: 
   22: These handler modules are not like cgi-scripts executed in a separate
   23: process, but are dynamically linked into the Apache child processes
   24: themselves - they run inside of Apache. The mod\_perl mechanism in
   25: addition links the Perl interpreter into the Apache child process.
   26: Modules are pre-interpreted ({}``compiled'') by the Perl interpreter
   27: when they are first loaded, and the pre-interpreted code stays permanently
   28: in the memory allocated to that Apache child process. The result is
   29: a significant speed-up, and through the flexible mechanism of module
   30: registration and different stages of the process, a high degree of
   31: customizability.
   32: 
   33: LON-CAPA does \emph{not} use Apache::Registry, and so in addition
   34: avoids the unnecessary overhead of emulating a cgi-environment within
   35: the handlers. Instead, it makes direct use of the Apache Perl API
   36: (Chapter 9, Eagle book).
   37: 
   38: If you intend to add new capabilities to LON-CAPA that require new
   39: handlers, as opposed to tweaking current ones, we recommend buying
   40: a copy of {}``Writing Apache Modules with Perl and C''; it is not
   41: strictly necessary but it is the clearest description of what is going
   42: on in the Apache server, and without it you will be challenged to
   43: understand everything that is occurring in the server.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>