6.2.2. Local Redirect Response
The CGI script can return a URI path and query-string
('local-pathquery') for a local resource in a Location header field.
This indicates to the server that it should reprocess the request
using the path specified.
local-redir-response = local-Location NL
The script MUST NOT return any other header fields or a message-body,
and the server MUST generate the response that it would have produced
in response to a request containing the URL
scheme "://" server-name ":" server-port local-pathquery
6.2.3. Client Redirect Response
The CGI script can return an absolute URI path in a Location header
field, to indicate to the client that it should reprocess the request
using the URI specified.
client-redir-response = client-Location *extension-field NL
The script MUST not provide any other header fields, except for
server-defined CGI extension fields. For an HTTP client request, the
server MUST generate a 302 'Found' HTTP response message.
6.2.4. Client Redirect Response with Document
The CGI script can return an absolute URI path in a Location header
field together with an attached document, to indicate to the client
that it should reprocess the request using the URI specified.
client-redirdoc-response = client-Location Status Content-Type
*other-field NL response-body
The Status header field MUST be supplied and MUST contain a status
value of 302 'Found', or it MAY contain an extension-code, that is,
another valid status code that means client redirection. The server
MUST make any appropriate modifications to the script's output to
ensure that the response to the client complies with the response
protocol version.
RFC 3875 CGI Version 1.1 October 2004
6.3. Response Header Fields
The response header fields are either CGI or extension header fields
to be interpreted by the server, or protocol-specific header fields
to be included in the response returned to the client. At least one
CGI field MUST be supplied; each CGI field MUST NOT appear more than
once in the response. The response header fields have the syntax:
header-field = CGI-field | other-field
CGI-field = Content-Type | Location | Status
other-field = protocol-field | extension-field
protocol-field = generic-field
extension-field = generic-field
generic-field = field-name ":" [ field-value ] NL
field-name = token
field-value = *( field-content | LWSP )
field-content = *( token | separator | quoted-string )
The field-name is not case sensitive. A NULL field value is
equivalent to a field not being sent. Note that each header field in
a CGI-Response MUST be specified on a single line; CGI/1.1 does not
support continuation lines. Whitespace is permitted between the ":"
and the field-value (but not between the field-name and the ":"), and
also between tokens in the field-value.
6.3.1. Content-Type
The Content-Type response field sets the Internet Media Type [6] of
the entity body.
Content-Type = "Content-Type:" media-type NL
If an entity body is returned, the script MUST supply a Content-Type
field in the response. If it fails to do so, the server SHOULD NOT
attempt to determine the correct content type. The value SHOULD be
sent unmodified to the client, except for any charset parameter
changes.
Unless it is otherwise system-defined, the default charset assumed by
the client for text media-types is ISO-8859-1 if the protocol is HTTP
and US-ASCII otherwise. Hence the script SHOULD include a charset
parameter. See section 3.4.1 of the HTTP/1.1 specification [4] for a
discussion of this issue.
=14= |