Fossil

Update of "branch/cgi-compliance"
Login

Update of "branch/cgi-compliance"

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 7b792409257a125de0f6395dab7e00e2291a0ce4bf14abf75c5c1f44416ff5da
Page Name:branch/cgi-compliance
Date: 2022-02-13 00:33:05
Original User: drh
Mimetype:text/x-markdown
Content

Research on the meaning of the REQUEST_URI environment variable suggests that I've been doing it wrong for a long time. Findings:

  1. REQUEST_URI is not part of rfc3875. So it isn't an official CGI variable. Hence its meaning is not well-defined.

  2. Apache and Nginx set REQUEST_URI to be the second field of the HTTP request. That means that REQUEST_URI includes the query string.

  3. Althttpd and Wapp omit the query string from REQUEST_URI.

  4. Fossil doesn't really care that much. Fossil wants to use SCRIPT_NAME and PATH_INFO. Fossil mostly only uses REQUEST_URI when one or the other of those two are unavailable.

We need to bring Fossil into agreement with Apache and Nginx. That is what this branch is about. Althttpd and Wapp also need to be brought into conformance.