- Apache HttpComponents Core (blocking I/O) Central (50) AtlassianPkgs (1) WSO2 Dist (3).
- Apache HttpComponents Core. Welcome to the HttpCore component of the Apache HttpComponents project. Building Instructions. For building from source instructions please refer to BUILDING.txt. HttpCore requires Java 1.7 compatible runtime. Apache HttpComponents Core is licensed under the Apache License 2.0.
- Core Apache HTTP Server features that are always available mpmcommon A collection of directives that are implemented by more than one multi-processing module (MPM) event A variant of the worker MPM with the goal of consuming threads only for connections with active processing mpmnetware.
Linux ubuntu 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x8664 x8664 x8664 GNU/Linux.
This document is a collection of notes regarding tools and techniques fordebugging Apache httpd and its modules.
Got more tips? Send 'em [email protected] Thanks!
If you use the gcc compiler, it is likely that the best debugger for yoursystem is gdb. This is only a brief summary of how to run gdb on Apache --you should look at the info and man files for gdb to get more informationon gdb commands and common debugging techniques. Before running gdb, besure that the server is compiled with the
-g option in
CFLAGS toinclude the symbol information in the object files.
The only tricky part of running gdb on Apache is forcing the server into asingle-process mode so that the parent process being debugged does therequest-handling work instead of forking child processes. We have providedthe
-X option for that purpose, which will work fine for most cases.However, some modules don't like starting up with
-X , but are happy ifyou force only one child to run (using '
MaxClients 1 '); you can thenuse gdb's attach command to debug the child server.
The following example, with user input in green,shows the output of gdb run on a server executable (httpd) in the currentworking directory and using the server root of
/usr/local/apache :There are a few things to note about the above example:
gdb httpd' command does not include any command-line optionsfor httpd: those are provided when the '
run' command is done withingdb;
I set a breakpoint before starting the run so that execution would stopat the top of ap_process_request();
s' command steps through the code and into called procedures,whereas the '
n' (next) command steps through the code but not intocalled procedures.
additional breakpoints can be set with the '
b' command, and the runcontinued with the '
use the '
where' command (a.k.a. '
bt') to see a stack backtracethat shows the order of called procedures and their parameter values.
use the '
p' command to print the value of a variable.
A file in the the root directory called
.gdbinit provides useful macrosfor printing out various internal structures of httpd like tables (
dump_table ), brigades (
dump_brigade ) and filter chains (
If you are debugging a repeatable crash, simply run gdb as above and makethe request -- gdb should capture the crash and provide a prompt where itoccurs.
If you are debugging an apparent infinite loop, simply run gdb as above andtype a Control-C -- gdb will interrupt the process and provide a promptwhere it was stopped.
If you are debugging a system crash and you have a core file from thecrash, then do the following:and it will (hopefully) print a stack backtrace of where the core dumpoccurred during processing.
Apache Http Core Jar Download
A backtrace will let you know the hierarchy of procedures that were calledto get to a particular point in the process. On some platforms you can geta live backtrace of any process.
Apache Http Core 5
For SVR4-based variants of Unix, the
pstack command for proc can be usedto display a a live backtrace. For example, on Solaris it looks likeAnother technique is to use gdb to attach to the running process and thenusing 'where' to print the backtrace, as in
Apache Http Core Maven
A B C D E F H I L M N P R S U V W X
Apache Http Core Github
- Group authorizations based on host (name or IPaddress)
- Execute CGI scripts based on media type or request method.
- Provides for mapping different parts of the host filesystem in the document tree and for URL redirection
- Easily restrict what HTTP methods can be used on the server
- Sends files that contain their ownHTTP headers
- Basic HTTP authentication
- User authentication using MD5 Digest Authentication
- Form authentication
- Allows 'anonymous' user access to authenticated areas
- Core Authentication
- User authentication using an SQL database
- User authentication using DBM files
- User authentication using text files
- Manages a cache of authentication credentials to relievethe load on backends
- Allows a FastCGI authorizer application to handle Apachehttpd authentication and authorization
- Allows an LDAP directory to be used to store the databasefor HTTP Basic authentication.
- Core Authorization
- Group Authorization and Login using SQL
- Group authorization using DBM files
- Group authorization using plaintext files
- Group authorizations based on host (name or IPaddress)
- Authorization based on file ownership
- User Authorization
- Generates directory indexes, automatically, similar to the Unix
lscommand or the Win32
- Compress content via Brotli before it is delivered to theclient
- Support for request buffering
- RFC 2616 compliant HTTP caching filter.
- Disk based storage module for the HTTP caching filter.
- Shared object cache (socache) based storage module for theHTTP caching filter.
- CERN httpd metafile semantics
- Execution of CGI scripts
- Execution of CGI scripts using an external CGI daemon
- Specify character set translation or recoding
- Convert response body into an RFC2397 data URL
- Distributed Authoring and Versioning(WebDAV) functionality
- Filesystem provider for
- Generic locking module for
- Manages SQL database connections
- Compress content before it is delivered to theclient
- Send static content at a bandwidth rate limit, defined by the various old modem standards
- Provides for 'trailing slash' redirects and serving directory index files
- Dumps all I/O to error log as desired.
- A simple echo server to illustrate protocolmodules
- Modifies the environment which is passed to CGI scripts andSSI pages
- Illustrates the Apache module API
- Generation of
Cache-ControlHTTP headers according to user-specifiedcriteria
- Pass the response body through an external program beforedelivery to the client
- Caches a static list of files in memory
- Context-sensitive smart filter configuration module
- Customization of HTTP request and responseheaders
- Sends messages with server status to frontend proxy
- Centralized monitor for mod_heartbeat origin servers
- Support for the HTTP/2 transport layer
- RFC 1413 ident lookups
- Server-side imagemap processing
- Server-parsed html documents (Server Side Includes)
- Provides a comprehensive overview of the serverconfiguration
- ISAPI Extensions within Apache for Windows
- Pending Request Counting load balancer scheduler algorithm for
- Request Counting load balancer scheduler algorithm for
- Weighted Traffic Counting load balancer scheduler algorithm for
- Heartbeat Traffic Counting load balancer scheduler algorithm for
- LDAP connection pooling and result caching services for useby other LDAP modules
- Logging of the requests made to the server
- Additional configurable debug logging
- Forensic Logging of the requests made to the server
- Logging of input and output bytes per request
- Provides Lua hooks into various portions of the httpdrequest processing
- Provides macros within apache httpd runtime configuration files
- Managing domains across virtual hosts, certificate provisioning via the ACME protocol
- Associates the requested filename's extensions with the file's behavior (handlers and filters) and content (mime-type, language, character set and encoding)
- Determines the MIME type of a file by looking at a few bytes of its contents
- Provides for content negotiation
- Enable SSL encryption for NetWare
- Support for Solaris privileges and for running virtual hostsunder different user IDs.
- Multi-protocol proxy/gateway server
- AJP support module for
mod_proxyextension for load balancing
- Dynamic mass reverse proxy extension for
- FastCGI support module for
- fdpass external process support module for
- FTP support module for
- Dynamic health check of Balancer members (workers) for
- Rewrite HTML links in to ensure they are addressablefrom Clients' networks in a proxy context.
- HTTP support module for
- HTTP/2 support module for
- SCGI gateway module for
- UWSGI gateway module for
- Websockets support module for
- Bandwidth Rate Limiting for Clients
- Reflect a request body as a response via the output filter stack.
- Replaces the original client IP address for the connectionwith the useragent IP address list presented by a proxies or a load balancervia the request headers.
- Set timeout and minimum data rate for receiving requests
- Filters to handle and make available HTTP request bodies
- Provides a rule-based rewriting engine to rewrite requestedURLs on the fly
- Filter Input (request) and Output (response) content using
- Session support
- Cookie based session support
- Session encryption support
- DBD/SQL based session support
- Allows the setting of environment variables basedon characteristics of the request
- Slot-based shared memory provider.
- Slot-based shared memory provider.
- Loading of executable code andmodules into the server at start-up or restart time
- DBM based shared object cache provider.
- Distcache based shared object cache provider.
- Memcache based shared object cache provider.
- Redis based shared object cache provider.
- shmcb based shared object cache provider.
- Attempts to correct mistaken URLs by ignoringcapitalization, or attempting to correct various minormisspellings.
- Strong cryptography using the Secure SocketsLayer (SSL) and Transport Layer Security (TLS) protocols
- Provides information on server activity andperformance
- Perform search and replace operations on response bodies
- Allows CGI scripts to run as a specified userand Group
- Provides better support for systemd integration
- Provides an environment variable with a uniqueidentifier for each request
- Basic (required) security for Unix-family platforms.
- User-specific directories
- Clickstream logging of user activity on a site
- Version dependent configuration
- Provides for dynamically configured mass virtualhosting
- provides infrastructure for other modules to periodically run tasks
- Enhanced charset/internationalisation support for libxml2-basedfilter modules