From e6ada0b74352f77124a682d98c6d842fd5c44b45 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 23 Aug 2023 15:36:55 +0000 Subject: Add some doc Signed-off-by: Laurent Bercot --- doc/index.html | 66 +++++++++++++++-- doc/quickstart.html | 107 ++++++++++++++++++++++++++++ examples/s6-rc/httpd-4-log/consumer-for | 1 + examples/s6-rc/httpd-4-log/notification-fd | 1 + examples/s6-rc/httpd-4-log/pipeline-name | 1 + examples/s6-rc/httpd-4-log/run | 5 ++ examples/s6-rc/httpd-4-log/type | 1 + examples/s6-rc/httpd-4/notification-fd | 1 + examples/s6-rc/httpd-4/producer-for | 1 + examples/s6-rc/httpd-4/run | 10 +++ examples/s6-rc/httpd-4/type | 1 + examples/s6-rc/httpd-6-log/consumer-for | 1 + examples/s6-rc/httpd-6-log/notification-fd | 1 + examples/s6-rc/httpd-6-log/pipeline-name | 1 + examples/s6-rc/httpd-6-log/run | 5 ++ examples/s6-rc/httpd-6-log/type | 1 + examples/s6-rc/httpd-6/notification-fd | 1 + examples/s6-rc/httpd-6/producer-for | 1 + examples/s6-rc/httpd-6/run | 10 +++ examples/s6-rc/httpd-6/type | 1 + examples/s6-rc/httpsd-4-log/consumer-for | 1 + examples/s6-rc/httpsd-4-log/notification-fd | 1 + examples/s6-rc/httpsd-4-log/pipeline-name | 1 + examples/s6-rc/httpsd-4-log/run | 5 ++ examples/s6-rc/httpsd-4-log/type | 1 + examples/s6-rc/httpsd-4/notification-fd | 1 + examples/s6-rc/httpsd-4/producer-for | 1 + examples/s6-rc/httpsd-4/run | 11 +++ examples/s6-rc/httpsd-4/type | 1 + examples/s6-rc/httpsd-6-log/consumer-for | 1 + examples/s6-rc/httpsd-6-log/notification-fd | 1 + examples/s6-rc/httpsd-6-log/pipeline-name | 1 + examples/s6-rc/httpsd-6-log/run | 5 ++ examples/s6-rc/httpsd-6-log/type | 1 + examples/s6-rc/httpsd-6/notification-fd | 1 + examples/s6-rc/httpsd-6/producer-for | 1 + examples/s6-rc/httpsd-6/run | 11 +++ examples/s6-rc/httpsd-6/type | 1 + examples/tipidee.conf | 41 +++++++++++ 39 files changed, 297 insertions(+), 7 deletions(-) create mode 100644 doc/quickstart.html create mode 100644 examples/s6-rc/httpd-4-log/consumer-for create mode 100644 examples/s6-rc/httpd-4-log/notification-fd create mode 100644 examples/s6-rc/httpd-4-log/pipeline-name create mode 100755 examples/s6-rc/httpd-4-log/run create mode 100644 examples/s6-rc/httpd-4-log/type create mode 100644 examples/s6-rc/httpd-4/notification-fd create mode 100644 examples/s6-rc/httpd-4/producer-for create mode 100755 examples/s6-rc/httpd-4/run create mode 100644 examples/s6-rc/httpd-4/type create mode 100644 examples/s6-rc/httpd-6-log/consumer-for create mode 100644 examples/s6-rc/httpd-6-log/notification-fd create mode 100644 examples/s6-rc/httpd-6-log/pipeline-name create mode 100755 examples/s6-rc/httpd-6-log/run create mode 100644 examples/s6-rc/httpd-6-log/type create mode 100644 examples/s6-rc/httpd-6/notification-fd create mode 100644 examples/s6-rc/httpd-6/producer-for create mode 100755 examples/s6-rc/httpd-6/run create mode 100644 examples/s6-rc/httpd-6/type create mode 100644 examples/s6-rc/httpsd-4-log/consumer-for create mode 100644 examples/s6-rc/httpsd-4-log/notification-fd create mode 100644 examples/s6-rc/httpsd-4-log/pipeline-name create mode 100755 examples/s6-rc/httpsd-4-log/run create mode 100644 examples/s6-rc/httpsd-4-log/type create mode 100644 examples/s6-rc/httpsd-4/notification-fd create mode 100644 examples/s6-rc/httpsd-4/producer-for create mode 100755 examples/s6-rc/httpsd-4/run create mode 100644 examples/s6-rc/httpsd-4/type create mode 100644 examples/s6-rc/httpsd-6-log/consumer-for create mode 100644 examples/s6-rc/httpsd-6-log/notification-fd create mode 100644 examples/s6-rc/httpsd-6-log/pipeline-name create mode 100755 examples/s6-rc/httpsd-6-log/run create mode 100644 examples/s6-rc/httpsd-6-log/type create mode 100644 examples/s6-rc/httpsd-6/notification-fd create mode 100644 examples/s6-rc/httpsd-6/producer-for create mode 100755 examples/s6-rc/httpsd-6/run create mode 100644 examples/s6-rc/httpsd-6/type create mode 100644 examples/tipidee.conf diff --git a/doc/index.html b/doc/index.html index 9f3bc2f..6cb995d 100644 --- a/doc/index.html +++ b/doc/index.html @@ -20,18 +20,34 @@

What is it ?

- tipidee is a web server. It supports HTTP/1.1. It aims to be compliant + tipidee is a web server. It supports HTTP 1.0 and 1.1. It aims to be compliant with RFC 9112: while it only implements a very limited subset of the optional functionality -in HTTP/1.1, it implements all the mandatory parts. +in HTTP 1.1, it implements all the mandatory parts. It is usable with both +HTTP and HTTPS. +

+ +

+ It runs under a super-server, e.g. inetd, +s6-tcpserver, or +s6-tlsserver +(for HTTPS). Traditionally, inetd-mode web servers aren't considered performant, +but tipidee aims to eke out every single drop of performance that is attainable from +its programming model.


+ + +
+

Why another Web server?

- There are two groups of web servers. + There are roughly two groups of web servers.

@@ -46,14 +62,41 @@ for instance, was developed as a proof of concept for solving the

- The second one is + The second one is small, quick-and-dirty servers, aimed at easily deploying +basic HTTP service for serving static files for prototying or in resource +constrained environments such as embedded devices. Among them, for instance, +busybox httpd, +bozohttpd, or various +httpds from ACME Labs. +

+ +

+ And, surprisingly, not much in between. There are a ton of supposedly +"tiny" or "minimal" servers, written in languages whose naked runtime uses +more resources than the whole skarnet.org +ecosystem by two orders of magnitude; but there isn't one that focused +on what I want from a web server, which is: +

+ + + +

+ All in all, I felt that despite how crowded the web server space is, +there wasn't a satisfactory offer for the needs of skarnet.org and a +few similar sites.

And why "tipidee"?

- Because h-t-t-p-d is pretty tedious to say out loud, and only -keeping the last syllables makes it easier. + Because h-t-t-p-d is pretty tedious to say out loud. +kKeeping the last three syllables makes it easier.

Installation

@@ -72,7 +115,10 @@ library. on a super-server to listen to the network and provide connection information via environment variables. It also defers to tools such as s6-tcpserver-access -to provide access control and connection fine-tuning. +to provide access control and connection fine-tuning. And if you want +to run an HTTPS server, you'll need something like +s6-tlsserver +to manage the TLS transport layer.

Licensing

@@ -126,6 +172,12 @@ the previous versions of tipidee and the current one.
  • The tipidee-config-preprocess internal program
  • +

    Configuration format

    + + +

    Related resources