From 136f42f503cb3e9588e62332d043e92b7475ec4e Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 11 Feb 2007 14:52:07 +0000 Subject: Add CGI docs --- docs/cgi/out.html | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 docs/cgi/out.html (limited to 'docs/cgi/out.html') diff --git a/docs/cgi/out.html b/docs/cgi/out.html new file mode 100644 index 0000000..2203ee5 --- /dev/null +++ b/docs/cgi/out.html @@ -0,0 +1,126 @@ +
+
+ +
+ +Any headers which are not server directives are sent directly back to +the client. Currently, this specification defines three server +directives:
+ +
Content-type
+ + This is the MIME type of the document you are returning.
+ +
Location
+ + This is used to specify to the server that you are returning a + reference to a document rather than an actual document.
+ + If the argument to this is a URL, the server will issue a redirect + to the client.
+ + If the argument to this is a virtual path, the server will + retrieve the document specified as if the client had requested + that document originally. ? directives will work in here, but # + directives must be redirected back to the client.
+ + +
Status
+
+ This is used to give the server an HTTP/1.0 status
+line to send to the client. The format is nnn xxxxx
,
+where nnn
is the 3-digit status code, and
+xxxxx
is the reason string, such as "Forbidden".
+ +
+ +
--- start of output --- +Content-type: text/html + +--- end of output --- ++ +Note the blank line after Content-type.
+
+Now, let's say I have a script which, in certain instances, wants to
+return the document /path/doc.txt
from this server just
+as if the user had actually requested
+http://server:port/path/doc.txt
to begin with. In this
+case, the script would output:
+
--- start of output --- +Location: /path/doc.txt + +--- end of output --- ++ +The server would then perform the request and send it to the client. +
+
+Let's say that I have a script which wants to reference our gopher
+server. In this case, if the script wanted to refer the user to
+gopher://gopher.ncsa.uiuc.edu/
, it would output:
+ +
--- start of output --- +Location: gopher://gopher.ncsa.uiuc.edu/ + +--- end of output --- ++ +Finally, I have a script which wants to talk to the client directly. +In this case, if the script is referenced with
SERVER_PROTOCOL
of HTTP/1.0,
+the script would output the following HTTP/1.0 response: + +
--- start of output --- +HTTP/1.0 200 OK +Server: NCSA/1.0a6 +Content-type: text/plain + +This is a plaintext document generated on the fly just for you. + +--- end of output --- ++ + +
+ +CGI - Common Gateway Interface +
cgi@ncsa.uiuc.edu + \ No newline at end of file -- cgit v1.1