httpd(8) [plan9 man page]
HTTPD(8) System Manager's Manual HTTPD(8) NAME
httpd, echo - HTTP server SYNOPSIS
http/httpd [ -n namespace ] srvname netname netdir http/echo [ -n namespace ] [ -d domain ] [ -r remoteip ] method version uri [ search ] DESCRIPTION
Httpd serves the file system described by namespace (default /lib/namespace.http), using version 1.0 of the HTTP protocol. It is usually executed by listen(8) in response to an incoming call on TCP port 80, the HTTP port. Srvname is the name of the service invoked, typically tcp80, netname is the name of the network, typically TCP, and netdir is the network directory for the connection. Httpd supports only the GET and HEAD methods of the HTTP protocol. The Content-type (default application/octet-stream) and Content-encod- ing (default binary) of a file are determined by looking for suffixes of the file name in /sys/lib/http. If the requested URI begins with /magic/server/, httpd executes the file /bin/http/server to finish servicing the request. Method, ver- sion, and uri are those received on the first line of the request, which is the only line read by httpd before executing the magical server. Echo is a trivial server that just returns the method, URI, any search, and the headers sent by the client. FILES
/sys/lib/http content type description file /lib/namespace.http default namespace file for httpd SOURCE
/sys/src/cmd/httpd SEE ALSO
newns in auth(2), listen(8) HTTPD(8)
Check Out this Related Man Page
micro-httpd(8) User Commands micro-httpd(8) NAME
micro-httpd - really small HTTP server SYNOPSIS
micro-httpd DIRECTORY OPTIONS
None. DESCRIPTION
micro-httpd is a very small HTTP server all in 150 lines of code. It runs from inetd, which means its performance is poor. But for low- traffic sites, it is quite adequate. It implements all the basic features of an HTTP server, including: * Security against ".." filename snooping. * The common MIME types. * Trailing-slash redirection. * index.html * Directory listings. To install it, add a line like this to /etc/inetd.conf: micro-http stream tcp nowait nobody /usr/sbin/micro-httpd micro-httpd dir Make sure the path to the executable is correct, and change "dir" to be the directory you want to serve. You could add line like this to /etc/services: micro-http port/tcp #Micro HTTP server Change "port" to the port number you want to use: 80, 8000, whatever. Restart inetd by sending it a "HUP" signal. On some systems, inetd has a maximum spawn rate - if you try to run inetd services faster than a certain number of times per minute, it assumed there is either a bug of an attack going on and it shuts down for a few minutes. If you run into this problem - look for syslog messages about too-rapid looping - you will need to find out how to increase the limit. Unfortunately this varies from OS to OS. On FreeBSD, you add a "-R 10000" flag to inetd's initial command line. On some Linux systems, you can set the limit on a per-service basis in inetd.conf, by changing "nowait" to "nowait.10000". Note that you can use micro-httpd to serve HTTPS, if you like, by running it from stunnel. First fetch and install stunnel - FreeBSD users can just go to /usr/ports/security/stunnel and do a "make cert ; make install". Then as root run: stunnel -p /usr/local/certs/stunnel.pem -d 443 -l /usr/sbin/micro-httpd -- micro-httpd dir Make sure the paths to the certificate and executable are correct, and again don not forget to change "dir" to the directory you want to serve. ENVIRONMENT
None. FILES
None. SEE ALSO
inetd(8) micro-inetd(8) xinetd(8) AUTHORS
Copyright (C) 1999 Jef Poskanzer <jef@mail.acme.com>. All rights reserved. This manual page was updated by Jari Aalto <jari.aalto@cante.net>. Released under license GNU GPL v2 or (at your option) any later version. For more information about license, visit <http://www.gnu.org/copyleft/gpl.html>. micro-httpd 2012-04-03 micro-httpd(8)