CGI/1.1 draft

robm@ncsa.uiuc.edu (Rob McCool)
Errors-To: listmaster@www0.cern.ch
Date: Tue, 1 Mar 1994 09:43:00 --100
Message-id: <9403010839.AA15022@void.ncsa.uiuc.edu>
Errors-To: listmaster@www0.cern.ch
Reply-To: robm@ncsa.uiuc.edu
Originator: www-talk@info.cern.ch
Sender: www-talk@www0.cern.ch
Precedence: bulk
From: robm@ncsa.uiuc.edu (Rob McCool)
To: Multiple recipients of list <www-talk@www0.cern.ch>
Subject: CGI/1.1 draft
X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
Content-Length: 1360

Here are my proposals for changes to CGI, to make its version 1.1:

1. Any headers output by non-nph scripts which the server doesn't understand
   may be passed to the client.

2. Add a new env. variable called HTTP_EXTRA_HEADERS which contains all
   headers sent by the client which the server didn't understand. This does
   not include Authorized, Accept, Content-type, or Content-length as these
   are already elsewhere in the CGI variable space. The server may perform
   collapsing of these lines, i.e. it may consolidate multiple occurrences
   of these lines as it already does with HTTP_ACCEPT.

---
Discussion:

1: This is has already been discussed and largely agreed upon as a Good
   Idea. It's backward compatible with CGI/1.0 behavior, and fits nicely in.

2: This will allow stupid pet tricks like using From:, but more importantly,
   allows us to not need to update the CGI spec every time a new header is
   introduced.

Finally, note that I don't mention whether PATH_INFO should be unescaped or
not. My first impression is that it should remain escaped, in order to avoid
ambiguities like the decoding of foo="1%3d2". Problem is, all of the current
implementations are ``broken'', and therefore such a change technically
isn't backward compatible. So perhaps we should update the spec. to reflect
the implementations. Comments?

--Rob