Community-Lab introduction

Help: http
Login

The "http" command:

Usage: fossil http ?REPOSITORY? ?OPTIONS?

Handle a single HTTP request appearing on stdin. The resulting webpage is delivered on stdout. This method is used to launch an HTTP request handler from inetd, for example. The argument is the name of the repository.

If REPOSITORY is a directory that contains one or more repositories, either directly in REPOSITORY itself or in subdirectories, and with names of the form "*.fossil" then a prefix of the URL pathname selects from among the various repositories. If the pathname does not select a valid repository and the --notfound option is available, then the server redirects (HTTP code 302) to the URL of --notfound. When REPOSITORY is a directory, the pathname must contain only alphanumerics, "_", "/", "-" and "." and no "-" may occur after a "/" and every "." must be surrounded on both sides by alphanumerics or else a 404 error is returned. Static content files in the directory are returned if they match comma-separate GLOB pattern specified by --files and do not match "*.fossil*" and have a well-known suffix.

The --host option can be used to specify the hostname for the server. The --https option indicates that the request came from HTTPS rather than HTTP. If --nossl is given, then SSL connections will not be available, thus also no redirecting from http: to https: will take place.

If the --localauth option is given, then automatic login is performed for requests coming from localhost, if the "localauth" setting is not enabled.

Options:

--baseurl URL
base URL (useful with reverse proxies)
--ckout-alias N
Treat URIs of the form /doc/N/... as if they were /doc/ckout/...
--extroot DIR
document root for the /ext extension mechanism
--files GLOB
comma-separate glob patterns for static file to serve
--host NAME
specify hostname of the server
--https
signal a request coming in via https
--in FILE
Take input from FILE instead of standard input
--ipaddr ADDR
Assume the request comes from the given IP address
--jsmode MODE
Determine how JavaScript is delivered with pages. Mode can be one of:
inline
All JavaScript is inserted inline at one or more points in the HTML file.
separate
Separate HTTP requests are made for each JavaScript file.
bundled
Groups JavaScript files into one or more bundled requests which concatenate scripts together.
Depending on the needs of any given page, inline and bundled modes might result in a single amalgamated script or several, but both approaches result in fewer HTTP requests than the separate mode.
--localauth
enable automatic login for local connections
--nocompress
do not compress HTTP replies
--nodelay
omit backoffice processing if it would delay process exit
--nojail
drop root privilege but do not enter the chroot jail
--nossl
signal that no SSL connections are available
--notfound URL
use URL as "HTTP 404, object not found" page.
--out FILE
write results to FILE instead of to standard output
--repolist
If REPOSITORY is directory, URL "/" lists all repos
--scgi
Interpret input as SCGI rather than HTTP
--skin LABEL
Use override skin LABEL
--th-trace
trace TH1 execution (for debugging purposes)
--mainmenu FILE
Override the mainmenu config setting with the contents of the given file.
--usepidkey
Use saved encryption key from parent process. This is only necessary when using SEE on Windows.

See also: cgi, server, winsrv