From bf90fbf8686fe7e0ea9b86fd13457e860a8ab89d Mon Sep 17 00:00:00 2001
From: Laurent Bercot
+tipidee
+ A strict reading of the
+HTTP/1.0 specification
+says that the Request-Line is the only piece of client-provided data that can
+be used to identify a resource, and that extension headers can modify the
+interpretation and processing of that resource but not change what
+resource is served.
+
+ This goes directly against the use of the Host header to identify
+the host of a resource and that is used in HTTP/1.1.
+
+ A lot of HTTP servers out there don't care about a strict reading of HTTP/1.0
+(or even a strict reading of anything, really), and have
+historically used Host to perform virtual hosting even in HTTP/1.0,
+even though it goes against the specification. Consequently, clients have
+adapted, and
+even the popular
+curl client sends a Host header in HTTP/1.0.
+
+ Since the point of the Web is interoperability, tipidee aligns with
+the common practice, and will read a client-provided Host header,
+if any, to determine what domain the request is directed to, even in
+HTTP/1.0 no matter what the spec says. I refer to this practice as
+"speaking HTTP/1.05".
+
+ Not necessarily: you could listen to 0.0.0.0 for IPv4, and
+:: for IPv6. But if you don't want your server to listen to
+all the addresses on your machine, then yes, you will have
+to run one process per address:port tuple.
+
+ It's okay though: every listening process is very small. The skarnet.org
+server has two network cards and runs a web server on both of them, on
+IPv4 and IPv6, over HTTP and HTTPS, which makes 8 services. Plus one
+s6-log logger process
+for each of these services. Plus a supervisor for every service and every
+logger — for a whooping total of 64 long-running processes just for
+its web server functionality; and it's still not even noticeable, the
+amount of resources it consumes is negligible. So, don't worry about it;
+all your resources are still available for the serving itself.
+
+ Note that this allows you to run different instances of
+tipideed, on different sockets, with different
+configurations, if you need it. Use the -f option to specify a
+different config file in your instances.
+
+Software
+skarnet.org
+ tipidee caveats and FAQ
+
+ Caveats
+ Host support in HTTP/1.0
+
+ Frequently asked questions
+ I want my web server to listen to more than one address. Do I need
+to do all that for every address I have?
+
+ Usage notes
+
+
+
+
Design notes
diff --git a/doc/quickstart.html b/doc/quickstart.html
index 312b87f..3b2ebe6 100644
--- a/doc/quickstart.html
+++ b/doc/quickstart.html
@@ -103,75 +103,5 @@ your service manager scripts.
containing service files to run tipidee under various service managers.
- A strict reading of the -HTTP/1.0 specification -says that the Request-Line is the only piece of client-provided data that can -be used to identify a resource, and that extension headers can modify the -interpretation and processing of that resource but not change what -resource is served. -
- -- This goes directly against the use of the Host header to identify -the host of a resource and that is used in HTTP/1.1. -
- -- A lot of HTTP servers out there don't really care about that, and have -historically used Host to perform virtual hosting even in HTTP/1.0, -even though it goes against the specification. Consequently, clients have -adapted, and -even the popular -curl client sends a Host header in HTTP/1.0. -
- -- Since the point of the Web is interoperability, tipidee aligns with -the common practice, and will read a client-provided Host header, -if any, to determine what domain the request is directed to, even in -HTTP/1.0 though it is contrary to the specification. I refer to this -practice as "HTTP/1.05". -
- -- Not necessarily: you could listen to 0.0.0.0 for IPv4, and -:: for IPv6. But if you don't want your server to listen to -all the addresses on your machine, then yes, you will have -to run one process per address:port tuple. -
- -- It's okay though: every listening process is very small. The skarnet.org -server has two network cards and runs a web server on both of them, on -IPv4 and IPv6, over HTTP and HTTPS, which makes 8 services. Plus one -s6-log logger process -for each of these services. Plus a supervisor for every service and every -logger — for a whooping total of 64 long-running processes just for -its web server functionality; and it's still not even noticeable, the -amount of resources it consumes is negligible. So, don't worry about it; -all your resources are still available for the serving itself. -
- -- Note that this allows you to run different instances of -tipideed, on different sockets, with different -configurations, if you need it. Use the -f option to specify a -different config file in your instances. -
-