No Words Wasted Sale
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores


    Recently Viewed clear list


    Original Essays | January 19, 2015

    Emma Hooper: IMG From Musician to Novelist



    I was asleep on the floor of the magicians' apartment. Not one, but three magicians lived there, and their mysterious, mischievous, and sometimes... Continue »
    1. $18.20 Sale Hardcover add to wish list

    spacer
Qualifying orders ship free.
$5.95
Used Trade Paper
Usually ships in 5 to 7 business days
Add to Wishlist
available for shipping or prepaid pickup only
Qty Store Section
1 Remote Warehouse General- General

More copies of this ISBN

Writing Apache Modules With Perl and C

by

Writing Apache Modules With Perl and C Cover

 

 

Excerpt

[ Symbols ], [ Numbers ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ X ], [ Z ],

#LINK<Symbols[ Top ]>#
%@ hash (Perl), 498
$$ handler function prototype, 65
$/ variable (Perl), 497
$| variable (Perl), 497

#LINK<Numbers[ Top ]>#
$0 variable (Perl), 497
301 "Moved Permanently" message, 124
302 "Moved Temporarily" message, 124
304 "not modified" message, 120
401 "Authorization Required" code, 263
403 "Forbidden" code, 262
404 "Not Found" error, 90
500 "Internal Server Error" error, 91

#LINK<A[ Top ]>#
aborted( ) (Apache::Connection), 471
aborted field (conn_rec), 525
Accept header (HTTP), 54
Accept-Charset header (HTTP), 54
Accept-Language header (HTTP), 54
Accept-Ranges header (HTTP), 56
access_checker( ), 74, 511
ACCESS_CONF constant, 400, 576
access_confname field (server_rec), 521
access control, 262, 268-282
      browser-controlled, 271-276
      C API handler, 511
      cookie-based, 304-322
      CPAN Apache:: modules for, 666
      methods for, 461-464
      third-party modules for, 679
      time-based, 270
access control phase (Apache server), 61, 74, 268
access.conf file, 20
--activate-module argument (configure), 35
Active Server Pages (ASP), 664
ActiveX technology, 7
add( ) (Apache::Table), 475
AddHandler directive, 87
AddType directive, 100
advertisements, blocking (example), 374-381
alert( ) (Apache::Log), 460
Alias directive, 42, 333
AliasMatch directive, 333
allocation routines (C API), 528
allowed field (request_rec), 514
allow_options( ), 461
      constants for, 484
anonymizing proxy requests, 372-373
anonymous authentication handler (example), 285-287
ap_acquire_mutex( ), 622
ap_add_cgi_vars( ), 623
ap_add_common_vars( ), 623
ap_add_version_component( ), 541
ap_append_arrays( ), 532
ap_array_cat( ), 532
ap_array_pstrcat( ), 532
ap_auth_name( ), 565
ap_auth_type field (conn_rec), 525
ap_auth_type( ), 565
ap_bflush( ), 550
ap_bgets( ), 551
ap_block_alarms( ), 553
ap_bprintf( ), 550
ap_bputc( ), 550
ap_bputs( ), 550
ap_bread( ), 551
ap_bspawn_child( ), 624
ap_bvputs( ), 550
ap_bwrite( ), 550
ap_call_exec( ), 625
ap_can_exec( ), 623
ap_cfg_closefile( ), 594
ap_cfg_getc( ), 594
ap_cfg_getline( ), 594
ap_chdir_file( ), 613
ap_checkmask( ), 603
ap_child_terminate( ), 626
ap_cleanup_for_exec( ), 625
ap_clear_pool( ), 530
ap_clear_table( ), 537
ap_close_piped_log( ), 564
ap_construct_server( ), 611
ap_construct_url( ), 610
ap_copy_array( ), 532
ap_copy_array_hdr( ), 532
ap_copy_table( ), 534
ap_count_dirs( ), 613
ap_cpystrn( ), 529
ap_create_environment( ), 623
ap_create_mutex( ), 622
ap_custom_response( ), 558
ap_default_port_for_request( ), 611
ap_default_port_for_scheme( ), 611
ap_default_type( ), 540
ap_destroy_mutex( ), 622
ap_destroy_pool( ), 530
ap_destroy_sub_req( ), 555
ap_discard_request_body( ), 544
ap_error_log2stderr( ), 58, 625
ap_escape_html( ), 607
ap_escape_quotes( ), 606
ap_escape_shell_cmd( ), 606
ap_exists_config_define( ), 591
ap_find_last_token( ), 601
ap_find_linked_module( ), 591
ap_find_token( ), 601
ap_fnmatch( ), 602
ap_get_basic_auth_pw( ), 566
ap_get_client_block( ), 547
ap_get_gmtoff( ), 618
ap_get_module_config( ), 583
ap_getparents( ), 614
ap_get_remote_host( ), 34, 538
ap_get_remote_logname( ), 539
ap_get_server_built( ), 541
ap_get_server_name( ), 539
ap_get_server_port( ), 540
ap_get_server_version( ), 540
ap_get_time( ), 618
ap_get_token( ), 601
ap_getword( ), 598
ap_getword_conf( ), 600
ap_getword_conf_nc( ), 601
ap_getword_nc( ), 600
ap_getword_nulls( ), 600
ap_getword_nulls_nc( ), 600
ap_getword_white( ), 600
ap_getword_white_nc( ), 600
ap_gm_timestr_822( ), 618
ap_gname2id( ), 621
ap_hard_timeout( ), 552
ap_ht_time( ), 617
ap_ind( ), 604
ap_internal_redirect( ), 556
ap_internal_redirect_handler( ), 556
ap_isalnum( ), 607
ap_isalpha( ), 607
ap_iscntrl( ), 607
ap_isdigit( ), 608
ap_is_directory( ), 613
ap_is_empty_table( ), 537
ap_is_fnmatch( ), 603
ap_isgraph( ), 608
ap_is_HTTP_ macros (C API), 553
ap_is_initial_req( ), 554
ap_islower( ), 608
ap_is_matchexp( ), 603
ap_isprint( ), 608
ap_ispunct( ), 608
ap_isspace( ), 608
ap_isupper( ), 608
ap_is_url( ), 610
ap_kill_cleanup( ), 557
ap_kill_cleanups_for_fd( ), 616
ap_kill_timeout( ), 553
ap_allow_options( ), 564
ap_log_error( ), 560, 562
ap_log_reason( ), 561
ap_log_rerror( ), 560, 562
ap_make_array( ), 531
ap_make_dirstr_parent( ), 614
ap_make_dirstr_prefix( ), 614
ap_make_full_path( ), 613
ap_make_sub_pool( ), 529
ap_make_table( ), 534
ap_md5( ), 620
ap_md5_binary( ), 620
ap_md5contextTo64( ), 621
ap_md5digest( ), 620
ap_MD5Final( ), 619
ap_MD5Init( ), 619
ap_MD5Update( ), 619
ap_meets_conditions( ), 544
ap_method_number_of( ), 540
ap_no2slash( ), 613
ap_note_auth_failure( ), 566
ap_note_basic_auth_failure( ), 566
ap_note_cleanups_for_fd( ), 616
ap_note_cleanups_for_file( ), 616
ap_note_digest_auth_failure( ), 566
ap_open_piped_log( ), 563
ap_os_escape_path( ), 610
ap_os_is_path_absolute( ), 613
ap_overlay_tables( ), 537, 573
ap_palloc( ), 528
ap_parseHTTPdate( ), 617
ap_parse_uri_components( ), 612
ap_pcfg_open_custom( ), 594
ap_pcfg_openfile( ), 593
ap_pclosedir( ), 616
ap_pclosef( ), 615
ap_pclosesocket( ), 616
ap_pfclose( ), 615
ap_pfdopen( ), 615
ap_pfopen( ), 615
ap_pgethostbyname( ), 611
ap_piped_log_read_fd( ), 564
ap_piped_log_write_fd( ), 564
ap_pool_is_ancestor( ), 530
ap_popendir( ), 616
ap_popenf( ), 615
ap_pregcomp( ), 604
ap_pregfree( ), 604
ap_pregsub( ), 605
ap_psocket( ), 616
ap_psprintf( ), 529
ap_pstrcat( ), 528
ap_pstrdup( ), 528
ap_push_array( ), 531
ap_register_cleanup( ), 557
ap_release_mutex( ), 622
ap_reset_timeout( ), 552
ap_rflush( ), 542
ap_rind( ), 604
ap_rprintf( ), 34, 542
ap_rputc( ), 542
ap_rputs( ), 34, 542
ap_run_cleanup( ), 558
ap_run_sub_req( ), 555
ap_rvputs( ), 542
ap_rwrite( ), 541
ap_satisfies( ), 569
ap_scan_script_header_err( ), 627
ap_scan_script_header_err_buff( ), 626
ap_scan_script_header_err_core( ), 627
ap_send_fb( ), 550
ap_send_fb_length( ), 550
ap_send_fd( ), 544
ap_send_fd_length( ), 545
ap_send_http_header( ), 34, 541
ap_send_size( ), 542
ap_server_root_relative( ), 540
ap_set_content_length( ), 543
ap_set_etag( ), 543
ap_set_flag_slot( ), 590
ap_set_last_modified( ), 544
ap_set_module_config( ), 584
ap_set_string_slot( ), 590
ap_set_string_slot_lower( ), 590
ap_setup_client_block( ), 546
ap_should_client_block( ), 546
ap_snprintf( ), 529
ap_soft_timeout( ), 552
ap_some_auth_required( ), 569
ap_spawn_child( ), 625
ap_srm_command_loop( ), 595
ap_strcasecmp_match( ), 603
ap_strcmp_match( ), 603
ap_str_tolower( ), 607
ap_sub_req_lookup_file( ), 555
ap_sub_req_lookup_uri( ), 555
ap_table_add( ), 535
ap_table_addn( ), 535
ap_table_do( ), 536
ap_table_elts( ), 537
ap_table_get( ), 534
ap_table_merge( ), 536
ap_table_mergen( ), 536
ap_table_set( ), 535
ap_table_setn( ), 535
ap_table_unset( ), 536
ap_tm2sec( ), 618
ap_tolower( ), 608
ap_toupper( ), 608
ap_uname2id( ), 621
ap_unblock_alarms( ), 553
ap_unescape_url( ), 610
ap_unparse_uri_components( ), 612
ap_update_mtime( ), 543
ap_uudecode( ), 607
ap_uuencode( ), 607
Apache
      building mod_perl separate from, 651
      configuring with Perl, 415-427
      customizing configuration of, 592-598
      request object (see request object)
Apache build directory, 20
Apache C modules
      accessing configuration information, 583, 591
      building, 652-659
      building in Win32 environment, 38-41
      customizing configuration directives, 509
      dynamically loadable, 36-38
      header files for, 506
      "Hello World" program (example), 32-41
      initialization, 58
      instant, with Apache::Registry, 41-45
      troubleshooting, 45-46
Apache class, subclassing, 384-385
apache -k restart command (Win32), 30
Apache module API, 9-12
      C version, 13
      downloading from web, xv
      examples of using, 14-16
      handlers (see handlers)
      how it works, 51-56
      life cycle of, 56-64
      Perl version (see mod_perl module)
      reasons to use, 11-12
Apache Perl modules
      dynamically loadable, 36-38
      "Hello World" program (example), 28-32
            user input with, 131-135
      initialization, 58
      instant, with Apache::Registry, 41-45
      namespace for, 69
      storing, 28
      troubleshooting, 47-50
Apache request objects, 81
Apache web server
      Apache::Server class (Perl API), 82
      configuration files, 20, 57
      handlers (see handlers)
      restarting, 29
      server_rec (see server_rec structure)
      startup and configuration, 57-58
Apache::AdBlocker (example), 374-381
Apache::Album module, 660
Apache::AnonProxy (example), 372-373
Apache::ASP module, 664
Apache::AuthAnon (example), 285-287
Apache::AuthAny (example), 282-285
Apache::AuthCookie module, 666
Apache::AuthenCache module, 666
Apache::AuthenDBI module, 666
Apache::AuthenIMAP module, 668
Apache::AuthenNIS module, 667
Apache::AuthenNISPlus module, 667
Apache::AuthenPasswd module, 667
Apache::AuthenPasswdSrv module, 667
Apache::AuthenRadius module, 668
Apache::AuthenSMB module, 668
Apache::AuthenURL module, 668
Apache::AuthLDAP module, 666
Apache::AuthTieDBI (example), 290-293
      authorization with, 304
Apache::AuthzDBI module, 666
Apache::AuthzGender (example), 293-295
Apache::AuthzGender2 (example), 295-299
Apache::AuthzNIS module, 667
Apache::AuthzPasswd module, 667
Apache::AuthzSSL (example), 326-328
Apache::AuthzTieDBI (example), 300-303
      authentication with, 304
Apache::AutoIndex module, 663
Apache::BlockAgent (example), 271-276
Apache::BlockAgent module, 343
Apache::Censor (example), 183
Apache::CheckCertState (example), 328-329
Apache::Checksum1 (example), 336-339
Apache::Checksum2 (example), 339-340
Apache::Checksum3 (example), 341-343
Apache::CmdParms class, 83, 405-406, 487-489
Apache::Connection class, 82, 471-473
Apache::Constants class, 483-486
Apache::Constants module, 66, 89
Apache::Crash (example), 170-172
Apache::DayLimit (example), 270
Apache::DBI module, 236-237, 670
Apache::DBILogConfig module, 669
Apache::DBILogger module, 360, 368, 669
Apache::DBILogin module, 668
Apache::Debug module, 48
Apache::DefaultTrans (example), 334
Apache::DProf module, 670
Apache::EmbperlChain module, 664
Apache::ESSI (example), 95-102
Apache::FakeRequest module, 47
Apache::File, 91
Apache::File class, 83, 489-496
      sending static files, 493-496
Apache::Filter module, 189, 662
Apache::Footer (example), 88-93
Apache::Forward (example), 179-182
Apache::GateKeeper (example), 268-270
Apache::Gateway module, 661
Apache::GoFish (example), 172-175
Apache::GoHome (example), 124
Apache::GZip (example), 184-188
Apache::GZipChain module, 189
Apache::GzipChain module, 661
Apache::Hello (example), 30
      user input with, 131-135
Apache::HttpEquiv module, 359-360
Apache::Include class, 84, 641
Apache::Include module, 383
Apache::Language module, 671
Apache::Layer module, 661
Apache::Log class, 83, 460-461
Apache::Log module, 165
Apache::LogDBI (example), 364-367
Apache::LogFile module, 671
Apache::LogMail (example), 361-363
Apache::Magick (example), 104-113
Apache::MimeDBI (example), 354-358
Apache::Missing (example), 168-170
Apache::Mmap module, 671
Apache::Module module, 671
Apache::ModuleConfig class, 83, 405-406, 486
Apache::MyRequest subclass (example), 384-385
Apache::Mysql module, 670
Apache::NavBar (example), 113-120
      If-Modified-Since handling, 121
Apache::OK module, 326
Apache::OutputChain module, 189, 662
Apache::PassFile module, 189
Apache::PassThru (example), 370-372
      adding configuration directives, 388-394
Apache::PATCH (example), 345-353
Apache::Peek module, 672
Apache::PerlRun class, 83, 635
Apache::PerlRun module, 45
Apache::PerlSections class, 84, 639
Apache::PerlSections module, 420
Apache::PHLogin module, 669
Apache::PrettyText module, 662
Apache::ProxyPass module, 662
Apache::RandomLocation module, 662
Apache::RandPicture (example), 125-129
Apache::ReadConfig class, 640
Apache::RedirectDBI module, 663
Apache::RefererBlock module, 669
Apache::Registry class, 633
Apache::Registry module, 41-45, 83, 143-164
      configuration file entry for, 143
      debugging modules as scripts, 47
      guestbook script (example), 146-159
      pitfalls to using, 159-164
Apache::RegistryLoader class, 83, 636
Apache::Request module, 134-135, 672
Apache::Resource class, 83, 637
Apache::Roaming module, 672
Apache::Sandwich module, 94, 663
Apache::SendFile module, 494
Apache::Server class, 82, 469-471
      global variables in, 503
Apache::Session module, 260, 672, 693
Apache::SmallProf module, 670
Apache::SpeedLimit (example), 276-282
Apache::SSI module, 665
Apache::Stage module, 663
Apache::StatINC class, 84, 640
Apache::StatINC module, 163-164, 333
Apache::Status class, 84, 641-643
Apache::StripSession module, 246
Apache::SubRequest class, 468
Apache::Sybase::CTlib module, 671
Apache::Table class, 377, 474-477
Apache::Taco module, 665
Apache::TempFile module, 673
Apache::TestFilter (example), 183
Apache::Throttle module, 673
Apache::TicketAccess (example), 305-309
Apache::TicketMaster (example), 310-314
Apache::TicketTool (example), 314-322
Apache::TimedRedirect module, 663
Apache::Traffic module, 360, 368, 670
Apache::TransLDAP module, 664
Apache::TreeBrowser (example), 135-143
Apache::Upcase (example), 182
Apache::UploadSvr module, 673
Apache::URI class, 83, 477-479
Apache::UserTrack module, 669
Apache::Util class, 83, 479-481
apachectl command (Unix), 29
      apachectl restart, 29
ApacheModulePerl.dll, 17, 26-27
APIs (see server APIs)
APLOG_ severity levels, 561
applets (Java), 7
apxs program, 37, 659
args( ) (request object), 130, 132, 430
args attribute (#perl), 382
args field (request_rec), 516
args_how field (command_rec), 576-580
args_how key (@directives element), 390, 395
array API (C API), 530-533
array_header( ), 567
array_header structure, 530
arrays, working with (C API), 530-533
ASP (Active Server Pages), 664
as_string( ), 459
auth_name( ), 462
AUTH_REQUIRED status code, 328
auth_checker( ), 511
authentication, 262-267, 282
      binring to authorization, 303-304
      C API core routines, 564-569
      C API handler, 511
      CPAN Apache:: modules for, 666
      database-controlled, 287-293
      MAC (message authentication check), 213-218
      methods for, 461-464
      for session IDs, 259
      SSL for, 322-329
      subrequests and, 303
      third-party modules for, 679
authentication phase (Apache server), 61, 74
AuthName directive, SSL and, 326
authorization, 262-267, 293-304
      binding authentication to, 303-304
      C API core routines, 564-569
      C API handler, 511
      CPAN Apache:: modules for, 666
      database-controlled, 300-303
      gender-based (examples), 293-299
      methods for, 461-464
      SSL for, 322-329
      subrequests and, 303
      third-party modules for, 679
Authorization header, 264-266
authorization phase (Apache server), 61, 75
"Authorization Required" code, 263
AuthType directive, SSL and, 326
auth_type( ) (Apache::Connection), 471
auth_type( ) (request object), 462

#LINK<B[ Top ]>#
=back directive (POD), 428
banner advertisements, blocking (example), 374-381
banner command (Unix), 628
base_server field (conn_rec), 524
Basic authentication scheme, 265
BEGIN subroutine (Perl), 502
bin directory, 19
binding authentication to authorization, 303-304
blocking
      banner advertisements (example), 374-381
      greedy clients, 276-282
      web-crawling robots (examples), 271-282
bootstrap( ) (DynaLoader), 391
browser-based access control, 271-276
BrowserMatch directive, 64
BUFF API (C API), 550
buffer functions (C API), 550
building
      Apache C modules, Win32, 38-41
      dynamically loadable modules, 36-38
      mod_perl, 23, 644-651
            separately from Apache, 651
      multifile C API modules, 652-659
      Perl modules, xv-xviii
built-in directive handlers (C API), 589-591
bytes_sent( ), 440
bytes_sent field (request_rec), 514

#LINK<C[ Top ]>#
C API, 13, 505-631
      array API, 530-533
      cleanup handler, 78, 556-558
      custom configuration (see configuration directives, custom, C API)
      customizing Apache configuration, 592-598
      data mutex locking, 621-622
      data structures, 506-526
      debugging Apache modules, 45-46
      development requirements, 18
      file and directory management, 612-616
      handler declarations, 65
      handler installation, 69-71
      launching subprocesses, 622-630
      memory management, 527-530
      message digest algorithm functions, 619-621
      processing requests, 538
      server core routines, 554-569
      string and URI manipulation, 598-612
      table API, 533-537
      time and date functions, 617-619
      user and group ID infomation, 621
      "Hello World" program (example), 32-41
caching documents locally, 120-122
callbacks, 391
case conversion utility (example), 182
CERN httpd server, 2
Certificate section (digital certificates), 324
CFLAGS environment variable, 45
cgi-bin directory, 21
CGI (Common Gateway Interface), 1, 3
      Apache::Registry (see Apache::Registry module)
      debugging Apache modules as scripts, 47
      parameters in URIs, 130-135
      pseudo-CGI environment with Apache::Registry, 42
      script co-processing, 5
CGI::Cookie module, 208-210
cgi_header_out( ), 440
CGI.pm module, Apache::Registry with, 43
chaining content handlers, 77, 175-189
      coordinating stacked handlers, 176-178
      pipelining stacked handlers, 178-189
character set preferences, 54
chdir_file( ), 100, 448
check_user_id( ), 74, 511
child_exit( ), 60, 512
child exit phase, 59-60, 79, 330-332
      C API handler, 512
child_init( ), 59, 72, 511
child initialization phase, 59-60, 330-332
      C API handler, 511
child_terminate( ), 448
classes, Perl API, 80-84
cleanup API (C API), 556-558
cleanup phase (Apache server), 62, 78, 189, 367-368
clear( ) (Apache::Table), 475
client field (conn_rec), 524
client request methods, 430-439
client-side scripting, 6
client-side state information, maintaining, 197
      hidden fields, 198-208
      HTTP cookies, 208-212
            cookie-based access control, 304-322
      security concerns, 213-221
close( ) (Apache::File), 490
close( ) (Perl), 489
cluck( ) (Carp module), 161
cmd_data field (command_rec), 575
cmd field (cmd_parms), 583
cmd_parms structure, 581-583
cmd( ) (Apache::CmdParms), 487
cmd_data key (@directives element), 395
code reuse, 190
colorAllocate( ), 379
COM (Common Object Model), 7
command_rec structure, 574-576
      args_how field constants, 577-580
      override field constants, 576-577
command_table( ) (Apache::ExtUtils), 389-390, 394-395, 400-402
command_table field (module structure), 509
:common export tag, 483
Common Gateway Interface (see CGI)
comparing strings (C API), 602-607
compiling Perl modules, xv-xviii
Compress::Zlib module, 185
compressing data stream (example), 184-188
config directive table (C API), 509, 574
config_file field (cmd_parms), 581
configfile_t structure, 592-596
configuration
      accessing information on, 583, 591
      Apache, customizing process of, 592-598
      Apache web server, 57-58
      creation routines (module structure), 509
      mod_perl, 649-651
      Perl API, 23
      Perl modules, with PerlSetVar, 386-387
      server configuration methods, 455-458
      server, getting information on, 540
configuration API (see configuration directives, custom), 57
configuration directives, custom
      C API, 509, 570-592
            built-in directive handlers, 589-591
            config directive table, 509, 574-576
            defining (designing), 574-576
            merging, 509, 571
            restricting directive usage, 576-577
            specifying syntax for, 577-580
      merging, 573
      Perl API, 71-80, 387-415
            Apache::CmdParms and Apache::ModuleConfig, 405-406, 486-489
            defining (designing), 394-395
            definition shortcuts, 401
            merging, 403-405
            reimplementing mod_mine in Perl (example), 407-415
            restricting directive usage, 400-401
            setting configuration policy, 402-405
            specifying directive syntax, 395-400
configuration files (Apache), 20, 57
      documentating, 427
configuration streams, 592-596
configure script, 23-24, 32, 35
configuring Apache with Perl, 415-427
conn_rec structure, 80, 524-526
connect( ) (DBI), 234, 236
connection( ), 430
connection field (request_rec), 512
Connection header (HTTP), 54, 56
connection information, 82
constants, 483-486
container directives, writing, 596-598
content( ) (request object), 131-132, 431
CONTENT attribute, scanning for (example), 359-360
content_encoding( ), 441
content_encoding field (request_rec), 515
content handlers, 61, 77, 85-195
      Apache::Registry (see Apache::Registry module)
      associating with files, 77, 87-88
      chaining, 77, 175-189
            coordinating stacked handlers, 176-178
            pipelining stacked handlers, 178-189
      CPAN Apache:: modules for, 660
      error handling, 164-175
            custom error pages, 166-170
            HTTP headers and, 170-175
      file processors, 85-122
            adding footers (example), 88-93
            dynamic navigation bar (example), 113-121
            If-Modified-Since, handling, 120-122
            image format conversion (example), 104-113
            server-side includes with, 94-104
            static files, sending, 122, 493-496
      input processing, 130-143
            additional path information, 135-143
            CGI parameters, 130-135
      method handlers, 189-195
      redirection, 123-130
            internal, 129, 554-556
            random, 125-128
      third-party modules for, 674
      virtual documents, 122-123
content_languages( ), 441
content_languages field (request_rec), 515
Content-Length header (HTTP), 55-56
content_type( ), 442
content_type field (request_rec), 515
Content-Type header (HTTP), 55-56
Content-Type header, 353
context of configuration directives, 400
converting image formats (example), 104-113
cookie( ) (CGI.pm), 209
Cookie header, stripping field for, 372
cookies, HTTP, 197, 208-212
      access control based on, 304-322
CookieTracking directive, 359
coordinating stacked handlers, 176-178
co-processing, 5
copying tables (table API), 534
core functions (server)
      C API, 554-569
      Perl API, 448-455
CPAN modules for Apache, 660-673
CPAN, obtaining Apache from, xv
CPAN shell, xvii, 650
CREATE command (SQL), 231
create_dir_config( ), 509, 572, 574
create_server_config( ), 509, 572, 574
crit( ) (Apache::Log), 461
crypt( ) (Unix), 288, 291
Crypt::CBC module, 218
Crypt::DES module, 218
Crypt::IDEA module, 218
current_callback( ), 465
custom directives (see configuration directives, custom)
custom_response( ) (request object), 169
custom response handler API, 558
customizing Apache configuration process, 592-598
custom_response( ), 442

#LINK<D[ Top ]>#
data mutex locking, 621-622
data structures (C API), 506-526
databases
      controlling authentication with, 287-293
      controlling authorization with, 300-303
      CPAN Apache:: modules for, 670
      DBI-based type checking, 354-358
      querying with Embperl, 694
      for server-side state information, 230-258
date functions (C API), 617-619
Date header (HTTP), 56
DBI interface, 230, 234-258
      Apache::DBI, 236-237
      authentication, 287-293
      authorization, 300-303
      CPAN Apache:: modules for, 670
      database logger (example), 364-367
      hangman game (example), 237-245
      querying databases with Embperl, 694
      type checking, 354-358
      URI-based session IDs, 239, 245-247
debug( ) (Apache::Log), 461
debugging
      C-level, 45-46
      Embperl pages, 694
      environment variables for, 49
      <Perl> directive, 420-421
      Perl-level modules, 47-50
declaring handlers, 64-65
DECLINED return code, 68
define( ), 466
delayed request processing, 368
DELETE method (HTTP), 53
DELETE statement (SQL), 233
DHMTL (Dynamic HTML), 6
die( ), 50
Digest authentication scheme, 267
digital certificates, 322-329
DIR_MERGE( ) subroutine, 403
dir_config( ), 455
DIR_CREATE( ) subroutine, 403-404
directive handlers, 391
directives, configuration (custom)
      Apache::CmdParms and Apache::ModuleConfig, 405-406, 486-489
      mod_mime in Perl (example), 407-415
directives, custom (see configuration directives, custom)
<Directory> directive, <Perl> directive for, 417
directory management (C API), 612-616
directory structure in this book, 19-22
DirectoryIndex directive, 303
DIR_MERGE( ) subroutine, 404
discard_request_body( ) (Apache::File), 491
disconnect( ) (DBI), 236
dispatch handler, 79
distinguished names (DNs), 324
distributed authoring modules, 684
DNs (distinguished names), 324
do( ) (Apache::Table), 475
do( ) (DBI), 234
document root directory, 20
documenting configuration files, 427
document_root( ), 456
DONE return code, 68
double_reverse field (conn_rec), 526
downloading Apache from web, xv
DSO modules
      building from several source files, 659
      building mod_perl as, 651
dump( ) (Apache::Debug), 48
dump( ) (Apache::PerlSections), 639
Dynamic HTML (DHTML), 6
dynamic navigation bar (example), 113-120
      If-Modified-Since handling, 121
dynamic tables, 690
dynamically linked C API modules, 654-656
dynamically loadable modules, 36-38
dynamic_load_handle field (module structure), 508

#LINK<E[ Top ]>#
-e file test (Perl), 90
elts field (array_header), 531
email, sending when page is hit (example), 361-363
embedded interpreters, 5
Embperl package, 104
emerg( ) (Apache::Log), 460
--enable-module argument (configure), 35
encypting state information (client side), 218-221
END subroutine (Perl), 502
_ _END_ _ token, 428, 503
end_token field (cmd_parms), 583
%ENV hash (Perl), 498
environment variables, 63-64
      Apache::Registry and, 160
      debugging-related, 49
      digital certificate fields as, 324
ePerl package, 104, 665
err_header_out( ) (request object), 172, 443
err_headers_out( ) (request object), 442
err_headers_out field (request_rec), 515
errmsg field (command_rec), 576
errmsg key (@directives element), 389, 394
error_fname field (server_rec), 521
error_log field (server_rec), 521
error( ) (Apache::Log), 461
ErrorDocument directive, 62, 166-170, 308
ErrorLog directive, 58
errors, 164-175
      Apache return codes for, 68
      custom error pages, 166-170
      "File not found" error, 31
      HTTP headers and, 170-175
      HTTP status codes for, 66
      logging, 165-166, 559-562
      syntax errors, 32
errstr( ) (DBI), 234
escape_html( ) (Apache::Util), 480
escape_url( ) (Apache::Util), 480
ETag header (HTTP), 56
exclusive file locks, 152
execute( ) (DBI), 235-236
existence checks for files, 90
exit( ), 50, 464
expiring state information, 198
extensible server-side includes (example), 95-102
external libraries for C API modules, 652-656

#LINK<F[ Top ]>#
FakeBasicAuth option (SSLOptions), 325
FastCGI protocol, 5
fetch( ) (DBI), 235
fetchrow_array( ) (DBI), 235
fetchrow_arrayref( ) (DBI), 236
fetchrow_hashref( ) (DBI), 235, 238
file extensions, MIME types for, 353
"File not found" error, 31
File::Find module, 337
file_exts( ) (LWP::MediaTypes), 413
filename field (request_rec), 516
filename( ), 90, 431
filenames
      MIME type checking, 61, 75, 86, 353-358
            C API handler, 511
            C API macros for, 607
      translating URIs to, 73, 333-343
            C API handler, 511
            example handlers, 334-340
fileparse( ) (File::Basename), 107
files
      Apache::File class, 83, 489-496
      content handler associations, 77, 87-88
      existence checking, 90
      locking, 152-154
      management functions (C API), 612-616
      processing with content handlers, 85-122
            adding footers (example), 88-93
            dynamic navigation bar (example), 113-121
            If-Modified-Since, handling, 120-122
            image format conversion (example), 104-113
            server-side includes with, 94-104
            static files, sending, 122, 493-496
      redirection, 123-130
            internal, 129, 554-556
            random, 125-128
      sending to client, 543-545
      virtual documents, 122-123
<Files> directive
      content handler assignment, 77, 88
<FilesMatch> directive
      content handler assignment, 77
filesystem structure in this book, 19-22
filtering images, 105
find_pool( ), 530
finfo field (request_rec), 516
finfo( ), 90, 431
firewalls (see HTTP proxy requests)
fixer_upper( ), 511
fixup phase, 76, 358-360
      C API handler, 511
      CPAN Apache:: modules for, 669
      digital certificates and, 324
FLAG syntax method, 399, 578
flock( ) system call, 152-154
FNM_ constants (ap_fgnmatch), 602
footers, adding to pages (example), 88-93
FORBIDDEN status code, 262
ForceType directive, 337
fork( ), 622
forms
      input processing, 130-143
            additional path information, 135-143
            CGI parameters, 130-135
forms, HTML, 691-692
fragment field (uri_components), 609
fragment( ) (Apache::URI), 477
freeze( ) (Storable module), 223
fresh restart handler, 79
From header
      stripping field for, 372
FTP, obtaining Apache via, xv

#LINK<G[ Top ]>#
GATEWAY_INTERFACE variable, 499
gcc compiler, 18
gender( ) (Text::GenderFromName), 294
gender-based authorization (examples), 293-299
gensym( ), 465
get_basic_auth_pw( ), 462
get_client_block( ), 131, 432
get_handlers( ), 465
GET method
      CGI parameters with, 130
GET method (HTTP), 53
get_remote_host( ), 123, 432-434
      constants for, 484
get_remote_logname( ), 434
get_server_name( ), 457
get_server_root( ), 457
get( ) (Apache::ModuleConfig), 405, 486
get( ) (Apache::Table), 476
getgrnam( ) (Unix), 621
getline( ) (Apache::CmdParms), 488
getpwnam( ) (Unix), 621
global variables, 497-501
      in Apache::Server class, 503
      Apache::Registry and, 160
global variables, overusing, 50
"Goodbye World" (example), 628-630
greedy clients, blocking, 276-282
group information routine (C API), 621
guestbook script (example), 146-159
GZip protocol, 184-188

#LINK<H[ Top ]>#
h2xs command, 388
handler( ), 444
handler field (request_rec), 515
handler_rec field (module structure), 509-511
handler_rec structure, 34
handlers, 57, 64-80
      content (see content handlers)
      installing, 69-71
hangman game (example)
      description, 198
      Embperl version, 696-701
      final version, 247-258
      hidden fields, 201-203, 208
      HTTP cookies, 208-212
            encrypting state information, 219-221
            MAC with, 214-218
      SQL databases, 230-245
      state information in main memory, 224-229
hard_timeout( ), 449
hard timeouts, 551
HEAD method (HTTP), 53, 107
header( ) (CGI.pm), 209-210
header files for Apache C modules, 506
header_in( ), 209, 436
header_only( ), 107, 436
header_out( ), 124, 172, 209, 444
header_parser( ), 511
header parser phase, 74, 343-353
      C API module structure, 511
header_only field (request_rec), 513
headers, HTTP, 53-56
      error handling and, 170-175
      inserting, function for (example), 95
      parsing, 74
headers_in( ), 376, 434-435
headers_in field (request_rec), 515
headers_out( ), 443
headers_out field (request_rec), 515
"Hello World" program (example)
      C API version, 32-41
            custom configuration directives with, 584-589
      Perl API version, 28-32
      user input with, 131-135
hidden fields for maintaining state, 198-208
hook( ) (mod_perl), 482
Host header (HTTP), 53
hostinfo field (uri_components), 608
hostinfo( ) (Apache::URI), 477
hostname( ) (Apache::URI), 478
hostname field (request_rec), 513
ht_time( ) (Apache::Util), 480
.htaccess filename extension, 21
HTML, embedding Perl in, 687-701
HTML forms, 691-692
HTML::Embperl module, 687-701
HTML::EP module, 664
HTML::Mason module, 665
ht_time( ) (Apache::Util), 365
http_core module, 493
HTTP-EQUIV attribute, scanning for (example), 359-360
HTTP headers, sending, 31, 34
HTTP protocol, 52-56
      cookies, 197, 208-212
            access control based on, 304-322
      header fields, 53-56
            error handling and, 170-175
            parsing, 74
      implementing unsupported methods, 344-353
      inserting headers (example), 95
      proxy requests, 368-381
            anonymizing proxies, 372-373
            handling without mod_proxy, 374-381
            nonproxy requests as, 370-372
      redirection mechanism, 123-130
      response codes, 484
      status codes, 55, 66-69
httpd_conf( ), 467
httpd server, 2
      -X flag, 45-46
httpd.conf file, 20

#LINK<I[ Top ]>#
If-Modified-Since header, 54, 120-122
<IfModule> directive, 21
image format converstion (example), 104-113
Image::Magick package, 104
imgsize( ) (Image::Size), 379
import( ) (mod_perl), 482
@INC array (Perl), 500
%INC hash (Perl), 501
#include directive, 506
info field (cmd_parms), 581
info( ) (Apache::CmdParms), 395, 487
info( ) (Apache::Log), 461
initialization
      child processes, 59-60, 330-332
            C API handler, 511
      modules, 58
      modules, C API handler for, 509
input processing, 130-143
      additional path information, 135-143
      CGI parameters, 130-135
INSERT statement (SQL), 231, 233
installing
      Apache::Registry module, 42
      handlers, 69-71
      mod_perl, 644-651
      Perl API, 22-28
      Perl language, 18
instant Apache modules, 41-45
integrated development environments, 7
internal_redirect( ) (request object), 62, 129, 450
internal_redirect_handler( ), 450
internal redirection, 129, 554-556
internal requests, 62-63
Internal Server Error error, 91
internationalization modules, 677
IPC::Shareable module, 222-229
is_initial_req( ), 303, 450
is_main( ), 451
is_virtual( ) (Apache::Server), 469
is_virtual field (server_rec), 522
ISO-2022-JP encoding, 677
ITERATE syntax method, 397, 579
ITERATE2 syntax method, 397, 579

#LINK<J[ Top ]>#
Java applets, 7

#LINK<K[ Top ]>#
keep_alive field (server_rec), 522
keep_alive_max field (server_rec), 522
keep_alive_timeout field (server_rec), 522
kill_timeout( ), 449

#LINK<L[ Top ]>#
language preferences, 54
last( ), 365, 451
Last-Modified header (HTTP), 56, 121
length field (request_rec), 515
lexical variables, sharing, 161-163
libapreq library, 686
libperl library, 18
libraries
      custom, Apache::Registry, 163
      loading at startup, 29
      Perl, linked vs. shared, 18
      storing library files, 21
life cycle of Apache, 56-64
<LIMIT> section, 296
limited( ) (Apache::CmdParms), 487
limited field (cmd_parms), 581
linked Perl library, 18
LoadModule directive, 36-37
local_addr( ) (Apache::Connection), 472
local_addr field (conn_rec), 525
location( ), 452
<Location> directive, 31
Location header (HTTP), 124
locking files, 152-154
log( ) (Apache::Log), 460
log( ) (Apache::Server), 469
log( ) (request object), 165
log_error( ) (Apache::Server), 470
log_error( ) (request object), 166, 458
log_reason( ), 166
logger( ), 511
logging
      Apache startup and, 58
      Apache::Log class, 83, 460-461
      C API handler, 511
logging (continued)
      CPAN Apache:: modules for, 669
      DBI databases (example), 364-367
      documenting configuration files, 427
      errors, 165-166, 559-562
      methods for, 458-461
      piped log API, 563-564
logging phase (Apache server), 62, 78, 360-367
LogLevel directive, 165, 559
loglevel field (server_rec), 521
lookup_defaults field (server_rec), 522
lookup_file( ) (request object), 63, 110, 452
lookup_uri( ) (request object), 63, 102, 126, 135, 452
LWP module, 19

#LINK<M[ Top ]>#
M_ constants, 483
MacEachern, Doug, 13
MACs (message authentication checks), 213-218
mail, sending when page is hit (example), 361-363
mailing list for mod_perl, 27
main field (request_rec), 513
main( ), 451
make program, 18, 25
Makefile.PL script, 23-25, 644-649
.makepl_args.mod_perl file, 649
MaxRequestsPerChild directive, 59
MaxRequestsPerChild limit, 331
McCool, Rob, 2
MD5 message digest algorithm, 213, 306-308
      C API functions for, 619-621
      translation handler example, 335
meets_conditions( ) (Apache::File), 491-492
memory management (C API), 527-530
memory, state information in, 222-229
merge( ) (Apache::Table), 476
merge_dir_config( ), 509, 573
merge_server_config( ), 509, 573
merging configuration directives, 573
      C API, 509, 571
      Perl API, 403-405
message authentication checks (MACs), 213-218
message digest algorithm, 213
      C API functions for, 619-621
<META> tags, scannng (example), 359-360
method( ) (request object), 131, 436
method field (request_rec), 514
method handlers, 189-195
method_mask key (requires hash), 296
method_number( ), 436
      constants for, 483
method_number field (request_rec), 514
method numbers, 483
:methods group, 483
methods, HTTP, 53
      implementing unsupported, 344-353
MIME type checking phase (Apache server), 61, 75, 86, 353-358
      C API handler, 511
      C API macros for, 607
minor_version field (module structure), 508
missing.cgi script (example), 167
mod_a4c module, 677
mod_actions module, 87
mod_alias module, 333
      translation handler, 85
mod_auth_cookie_file module, 680
mod_auth_cookie_msql module, 680
mod_auth_cookie_mysql module, 680
mod_auth_dce module, 680
mod_auth_external module, 680
mod_auth_inst module, 681
mod_auth_kerb module, 681
mod_auth_ldap module, 681
mod_auth_msql module, 682
mod_auth_mysql module, 682
mod_auth_nis module, 679
mod_auth_notes module, 684
mod_auth_pam module, 682
mod_auth_pg module, 682
mod_auth_pg95 module, 682
mod_auth_pgsql module, 682
mod_auth_radius module, 683
mod_auth_rdbm module, 683
mod_auth_samba module, 683
mod_auth_smb module, 683
mod_auth_sys module, 683-684
mod_auth_yard module, 684
mod_bandwidth module, 679
mod_beza module, 677
mod_blob module, 674
mod_charset module, 677
mod_cntr module, 685
mod_commProc module, 674
mod_conv module, 675
mod_cvs module, 684
mod_dav module, 685
mod_disallow_id module, 679
mod_ecgi module, 675
mod_fastcgi module, 675
mod_fjord module, 676
mod_fontxlate module, 677
mod_hello (example), 32-41
      custom configuration directives with, 584-589
mod_include module, 381-384
mod_js module, 675
mod_jserv module, 6, 675
mod_ldap module, 681
mod_lock.c module, 679
mod_log_config module, 360
mod_log_dir module, 684
mod_macro module, 685
mod_mime module, 353
      reimplementing in Perl (example), 407-415
mod_mime_magic module, 86
mod_neoinclude module, 676
mod_owa module, 676
mod_perl build directory, 20
mod_perl class, 482
mod_perl mailing list, 27
mod_perl (Perl API), x, 13-14, 415-427
      access control, 268-282
            browser-controlled, 271-276
            time-based, 270
      building
            separately from Apache, 651
      building and installing, 644-651
      classes, 80-84
      custom configuration (see configuration directives, custom, Perl API)
      DBI interface and, 236-237
      debugging Apache modules, 47-50
      development requirements, 18
      documenting configuration files, 427
      handler declarations, 64-65
      handler installation, 69-71
      "Hello World" program (example), 28-32
            user input with, 131-135
      installing, 22-28
      reference guide, 429-504
            methods without C counterpart, 464-467
      server core functions, 448-455
      startup file, 28
MOD_PERL variable, 499
MOD_PERL_TRACE environment variable, 49
mod_proxy module, 369-373
      handling proxies without, 374-381
mod_put module, 685
mod_pyapache module, 676
mod_rewrite module, 333
mod_roaming module, 686
mod_session module, 685
mod_setenvif module, 332
mod_so module, 36
mod_ssl module, 325
mod_unique_id module, 332
mod_usertrack module, 359
mod_throttle module, 679
modification date/time, 91, 117
      If-Modified-Since, handling, 120-122
module( ), 466
module_config field (server_rec), 522
module_index field (module structure), 508
module_init( ), 509
module initialization handler, 509
module library tree, 21
module_struct field (module structure), 508
module structure, 35, 506-512
modules, Apache (see Apache C modules; Apache Perl modules)
modules, initializing, 58
modules, Perl (see Perl modules)
Mosaic web browser, 2
Moved Permanently message, 124
MOVED status code, 124
Moved Temporarily message, 124
mtime field (request_rec), 514
mtime( ) (Apache::File), 492
multifile C API modules, building, 652-659
MultiWeb module, 677

#LINK<N[ Top ]>#
name field (command_rec), 575
name field (module structure), 508
name key (@directives element), 389, 394
named setup_client_block( ), 131
names field (server_rec), 522
names( ) (Apache::Server), 470
NameVirtualHost directive, 418
navigation bar (example), 113-120
      If-Modified-Since handling, 121
NCSA httpd server, 2, 10
nelts field (array_header), 531
NET START APACHE command (WinNT), 30
NET STOP APACHE comand (WinNT), 30
new( ) (Apache::File), 490
new( ) (Apache::Table), 476
next( ) (Apache::Server), 470
next( ) (request object), 451
next field (request_rec), 513
next field (server_rec), 520
NO_ARGS syntax method, 396, 578
no_cache( ), 444
no_cache field (request_rec), 516
Not Found error, 90
NOT_FOUND result code, 90
Not Modified message, 120
note_basic_auth_failure( ) (request object), 294, 328, 463
notes( ), 453
notes field (request_rec), 515
notice( ) (Apache::Log), 461

#LINK<O[ Top ]>#
obtaining Apache module API, xv
OK return code (Apache), 68
online hangman game (example)
      description, 198
      Embperl version, 696-701
      final version, 247-258
      hidden fields, 201-203, 208
      HTTP cookies, 208-212
            encrypting state information, 219-221
            MAC with, 214-218
      SQL databases, 230-245
      state information in main memory, 224-229
open( ) (Apache::File), 490
open( ) (Perl), 489
OpenASP module, 676
OR_ALL constant, 401, 577
OR_AUTHCFG constant, 400, 576
OR_FILEINFO constant, 401, 577
OR_INDEXES constant, 401, 577
OR_LIMIT constant, 400, 576
OR_NONE constant, 401, 577
OR_OPTIONS constant, 400, 577
=out directive (POD), 427
=over directive (POD), 427
override( ) (Apache::CmdParms), 488
override field (cmd_parms), 581
override field (command_rec), 576-577
OWD variable (Apache::Server), 503

#LINK<P[ Top ]>#
_ _PACKAGE_ _ token, 375
parse( ) (Apache::URI), 478
parsedate( ) (Apache::Util), 480
parsed_uri( ), 437
parsed_uri field (request_rec), 516
parsing strings (C API), 598-601
parsing URIs (C API), 608-612
PassEnv directive, 63
password( ) (Apache::URI), 478
password field (uri_components), 609
PATCH client (example), 351-353
PATCH method (HTTP), implementing, 344-353
path( ) (Apache::CmdParms), 406, 487
path( ) (Apache::URI), 478
path field (cmd_parms), 582
path field (uri_components), 609
path_info( ) (Apache::URI), 478
path_info( ) (request object), 108, 135, 437
path_info field (request_rec), 516
pathname manipulation (C API), 613
pattern matching (C API), 602-607
per_request_config field (request_rec), 517
performance
      Apache::Magick content handler, 105
      Apache::StatINC module, 164
      internal redirection, 129
      preloading handler modules, 70
      profiling-related modules, 670
Perl
      configuring Apache with, 415-427
      embedding in HTML, 687-701
      global variables, 497-501
      server-side includes, 381-384
Perl API (mod_perl), x, 13-14
      access control, 268-282
      building
            separately from Apache, 651
      building and installing, 644-651
      classes, 80-84
      custom configuration (see configuration directives, custom, Perl API)
      DBI interface and, 236-237
      debugging Apache modules, 47-50
      development requirements, 18
      documenting configuration files, 427
      handler declarations, 64-65
      handler installation, 69-71
      "Hello World" program (example), 28-32
            user input with, 131-135
      installing, 22-28
      mailing list for, 27
      reference guide, 429-504
            methods without C counterpart, 464-467
      runtime Apache configuration, 415-427
      server core functions, 448-455
      startup file, 28
Perl CGI.pm module, 19
PERL_DESTRUCT_LEVEL environment variable, 49
perl_destruct( ), 49, 331
<Perl> directive, 416-427
      debugging, 420-421
perl directory, 21
Perl language, installing, 18
Perl library tree, 22
Perl modules
      building and compiling, xv-xviii
      custom configuration (see configuration directives, custom, Perl API)
      obtaining via FTP, xv
PERL_OPMASK_DEFAULT option, 72
PERL_RLIMIT_ variables, 638
Perl runtime warnings, 161
PERL_SEND_HEADER variable, 499
PERL_TRACE option, 49, 420
PERL5LIB environment variable, 28
PerlChildExitHandler directive, 331
perl.conf file, 20
@PerlConfig variable, 422
$PerlConfig variable, 422
PerlFreshRestart directive, 29, 634
PerlHandler directive, 31
PerlxHandler directives, 69, 72-80
      PerlAccessHandler, 74, 268
      PerlAuthenHandler, 74, 303
      PerlAuthzHandler, 75, 303
      PerlChildExitHandler, 60, 79
      PerlChildInitHandler, 59, 72, 330-331
      PerlCleanupHandler, 78, 189, 367-368
      PerlDispatchHandler, 79
      PerlFixupHandler, 76, 358-360
      PerlFreshRestart, 79
      PerlHandler directive, 77
      PerlHeaderParserHandler, 74, 343-353
      PerlInitHandler, 73, 344
      PerlLogHandler, 78, 360-367
      PerlPostReadRequestHandler, 72, 332
      PerlRestartHandler, 79
      PerlTransHandler, 73, 333-343
      PerlTypeHandler, 75, 353-358
PerlModule directive, 59, 71-72, 331
PerlOpmask directive, 72
PerlPassEnv directive, 63, 332
PerlRequire directive, 29, 59, 71-72, 331
perl-script handler, 88
PerlSendHeader directive, 144, 634
PerlSetEnv directive, 28, 63, 332
PerlSetVar directive, 337, 386-387
PerlTaintCheck directive, 146, 274, 634
PerlWarn directive, 634
PHP module, 676
piped log API (C API), 563-564
pipelining stacked handlers, 178-189
Plexus web server, 4
=pod directive (POD), 427
POD documentation, 427
pool field (cmd_parms), 582
pool field (conn_rec), 524
pool field (request_rec), 512
pools, resource (C API), 527-530
port( ) (Apache::Server), 470
port( ) (Apache::URI), 478
port field (server_rec), 521
port field (uri_components), 609
port_str field (uri_components), 609
portability of web development systems, 8
post_connection( ), 368, 466
POST method (HTTP), 53
      CGI parameters with, 130
post_read_request( ), 512
post read request phase, 72, 332
      C API handler, 512
power of web development systems, 8
preforking behavior, Apache, 50
preloading handler modules, 70
prepare( ) (DBI), 235
prev field (request_rec), 513
prev( ), 451
prev( ) (request object), 168
print( ), 31, 446
printf( ), 446
print_node( ), 139
profiling, CPAN Apache:: modules for, 670
protocol field (request_rec), 513
protocol( ), 438
proxy requests (HTTP), 368-381
      anonymizing proxies, 372-373
      handling without mod_proxy, 374-381
      nonproxy requests as, 370-372
proxyreq( ), 438
push_handlers( ) (request object), 176, 331, 466
PUT method (HTTP), 53

#LINK<Q[ Top ]>#
query field (uri_components), 609
query( ) (Apache::URI), 479
quotewords( ) (Text::ParseWords), 96, 326

#LINK<R[ Top ]>#
random redirection, 125-129
RAW_ARGS syntax method, 397-399, 580
read( ) (request object), 131, 438
read_configuration( ), 115
Redirect directive, 333
REDIRECT_ environment variables, 167
REDIRECT result code, 124
redirection, 123-130
      internal, 129, 554-556
      random, 125-128
Referer header, 54
      stripping field for, 372
register_cleanup( ) (request object), 45, 367, 455
remaining field (request_rec), 515
REMOTE_ arguments (get_remote_host), 433
REMOTE_ arguments (get_request_host), 538
remote_addr( ) (Apache::Connection), 472
remote_addr field (conn_rec), 525
remote_host( ) (Apache::Connection), 472
remote_host field (conn_rec), 525
remote_ip( ) (Apache::Connection), 473
remote_ip field (conn_rec), 525
remote_logname( ) (Apache::Connection), 473
remote_logname field (conn_rec), 525
req_override key (@directives element), 390, 395, 400
request( ), 467
REQUEST_ constants, 545
request body API (C API), 545-550
request_config field (request_rec), 517
request loop, 60-62
request object, 429-467
      access control methods, 461-464
      client request methods, 430-439
      logging methods, 458-461
      mod_perl-specific methods, 464-467
      sending data to clients, 445-448, 541-545
      server configuration methods, 455-458
      server core functions
            C API, 554-569
            Perl API, 448-455
      server response methods, 439-445
request objects, 81
request_rec structure, 80-81, 512-520
request record, 64, 81
request_time( ), 445
request_time field (request_rec), 513
requests, HTTP, 52-56
require operator, 71
require statements (see authorization)
requirement key (requires hash), 296
requires( ) (request object), 296, 463
reset_timeout( ), 449
resource pools (C API), 527-530

Product Details

ISBN:
9781565925670
Subtitle:
The Apache API and mod_perl
Editor:
Lemesurier, Peter
Author:
Stein, Lincoln D.
Author:
MacEachern, Doug
Author:
Stein, Lincoln
Editor:
Lemesurier, Peter
Author:
Lemesurier
Publisher:
O'Reilly Media
Location:
Beijing ;
Subject:
Programming Languages - C
Subject:
Programming Languages - General
Subject:
C (computer program language)
Subject:
Programming - General
Subject:
Computer networks
Subject:
Computers
Subject:
Programming - Software Development
Subject:
Internet - Server Maintenance
Subject:
Web servers
Subject:
Internet
Subject:
Programming Languages - CGI, Javascript, Perl, VBScript
Subject:
Perl (computer program language)
Subject:
Data Modeling & Design
Subject:
Programming Languages.
Subject:
Web servers -- Computer programs.
Subject:
Unix (Operating system).
Subject:
Language, literature and biography
Subject:
Apache
Subject:
Perl
Subject:
Apache Server
Subject:
Computer Bks - Communications; Networking
Subject:
Computer Books: Operating Systems
Subject:
Books; Computers & Internet; Programming; Web Programming; CGI
Subject:
Books; Computers & Internet; Web Development; Platforms & Administration; Web Servers; General
Subject:
Books; Computers & Internet; Web Development; Platforms & Administration; Web Servers; Unix
Subject:
Books; Computers & Internet; Web Development; Platforms & Administration; Web Servers; Microsoft Windows NT
Subject:
Books; Computers & Internet; Platforms; Operating Systems
Subject:
Client-Server Computing - General
Subject:
Programming Languages - Perl
Subject:
General-General
Subject:
API;Apache Modules with Perl and C;CGI;internet;mod_perl;open source;programmers,;web server
Edition Number:
1st ed.
Edition Description:
Print PDF
Series:
O'Reilly Nutshell
Series Volume:
vyp. 4, ch. 1
Publication Date:
19990411
Binding:
Paperback
Language:
English
Illustrations:
Yes
Pages:
750
Dimensions:
9.22 x 7 x 1.22 in 2.3 lb

Other books you might like

  1. Flash 4 Magic with CDROM Used Trade Paper $5.95
  2. Instant HTML Programmer's Reference Used Trade Paper $5.95
  3. JavaScript Application Cookbook New Trade Paper $54.95
  4. Apache the Definitive Guide 2ND Edition
    Used Trade Paper $5.95
  5. Beginning Active Server Pages 3.0 Used Trade Paper $1.00
  6. Fireworks X Used Trade Paper $1.00

Related Subjects

Computers and Internet » Computer Languages » C
Computers and Internet » Computer Languages » Perl
Computers and Internet » Database » Client Server
Computers and Internet » Internet » Apache
Computers and Internet » Internet » Web Publishing
History and Social Science » World History » General
Religion » Comparative Religion » General

Writing Apache Modules With Perl and C Used Trade Paper
0 stars - 0 reviews
$5.95 In Stock
Product details 750 pages O'Reilly & Associates - English 9781565925670 Reviews:
"Synopsis" by ,
This guide to Web programming teaches readers how to extend the capabilities of the Apache Web server. The book explains the design of Apache, mod_perl, and the Apache API, then demonstrates how to use them to rewrite CGI scripts, filter HTML documents on the server-side, enhance server log functionality, convert file formats on the fly, and more.
"Synopsis" by , "Writing Apache Modules with Perl and C shows how to extend the capabilities of the Apache web server. It explains the design of Apache, mod_perl, and the Apache API, then demonstrates how to use them for: Rewriting CGI scripts as Apache modules to vastly improve performanceServer-side filtering of HTML documents to embed special markup or code (much like SSI)Enhancing server log functionalityConverting file formats on the flyImplementing dynamic navigation barsIncorporating database access into CGI scriptsCustomizing access control and authorization to block robots or to use an external database for passwords Lincoln Stein is the successful author of "How to Set Up and Maintain a World Wide web Site and the developer of the widely used Perl CGI.pm module. Doug MacEachern is a consultant and the creator of the innovative mod_perl Apache module.
spacer
spacer
  • back to top

FOLLOW US ON...

     
Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.