Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Updates to the althttpd documentation. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
5a87c618a818f43ee8a9d15952b12830 |
User & Date: | drh 2018-02-27 22:16:13.087 |
Context
2018-02-28
| ||
21:50 | Fix the sessions documentation generator so that code snippets are indented correctly. (check-in: f3445c7d01 user: drh tags: trunk) | |
2018-02-27
| ||
22:16 | Updates to the althttpd documentation. (check-in: 5a87c618a8 user: drh tags: trunk) | |
21:29 | Add documentation on althttpd. (check-in: d9cb224c9f user: drh tags: trunk) | |
Changes
Changes to misc/althttpd.md.
︙ | ︙ | |||
27 28 29 30 31 32 33 | Newer versions of althttpd can operate stand-alone. Althttpd itself listens on port 80 for incoming HTTP requests, then forks a copy of itself to handle each inbound connection. Each connection is still handled using a separate process. The only difference is that the connection-handler process is now started by a master althttpd instance rather than by xinetd or stunnel4. | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | Newer versions of althttpd can operate stand-alone. Althttpd itself listens on port 80 for incoming HTTP requests, then forks a copy of itself to handle each inbound connection. Each connection is still handled using a separate process. The only difference is that the connection-handler process is now started by a master althttpd instance rather than by xinetd or stunnel4. Althttpd has no configuration file. All configuration is handled using command-line arguments. Althttpd does not itself handle TLS connection. For HTTPS, althttpd relies on stunnel4 to handle TLS protocol negotiation, decryption, and encryption. Because each althttpd process only needs to service a single |
︙ | ︙ | |||
186 187 188 189 190 191 192 193 194 195 196 197 198 199 | If the -logfile option is given on the althttpd command-line, then a single line is appended to the named file for each HTTP request. The log file is in the Comma-Separated Value or CSV format specified by [RFC4180](https://tools.ietf.org/html/rfc4180). There is a comment in the source code that explains what each of the fields in this output line mean. The filename on the -logfile option may contain time-based characters that are expanded by [strftime()](https://linux.die.net/man/3/strftime). Thus, to cause a new logfile to be used for each day, you might use something like: > | > > > > > > > > > > > > > > > > > > > > > > > > > | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | If the -logfile option is given on the althttpd command-line, then a single line is appended to the named file for each HTTP request. The log file is in the Comma-Separated Value or CSV format specified by [RFC4180](https://tools.ietf.org/html/rfc4180). There is a comment in the source code that explains what each of the fields in this output line mean. The fact that the log file is CSV makes it easy to import into SQLite for analysis, using a script like this: > CREATE TABLE log( date TEXT, /* Timestamp */ ip TEXT, /* Source IP address */ url TEXT, /* Request URI */ ref TEXT, /* Referer */ code INT, /* Result code. ex: 200, 404 */ nIn INT, /* Bytes in request */ nOut INT, /* Bytes in reply */ t1 INT, t2 INT, /* Process time (user, system) milliseconds */ t3 INT, t4 INT, /* CGI script time (user, system) milliseconds */ t5 INT, /* Wall-clock time, milliseconds */ nreq INT, /* Sequence number of this request */ agent TEXT, /* User agent */ user TEXT, /* Remote user */ n INT, /* Bytes of url that are in SCRIPT_NAME */ lineno INT /* Source code line that generated log entry */ ); .mode csv .import httplog.csv log The filename on the -logfile option may contain time-based characters that are expanded by [strftime()](https://linux.die.net/man/3/strftime). Thus, to cause a new logfile to be used for each day, you might use something like: > |
︙ | ︙ | |||
239 240 241 242 243 244 245 | > althttpd -root ~/www -port 8080 The "-port 8080" option is what tells althttpd to run in stand-alone mode, listening on port 8080. The author of althttpd has only ever used stand-alone mode for testing. | | | 264 265 266 267 268 269 270 271 272 | > althttpd -root ~/www -port 8080 The "-port 8080" option is what tells althttpd to run in stand-alone mode, listening on port 8080. The author of althttpd has only ever used stand-alone mode for testing. Since althttpd does not itself support TLS encryption, the stunnel4 setup is preferred for production websites. |