iTP Secure WebServer System Administrator's Guide (Version 7.0)

Configuring the iTP Secure WebServer
iTP Secure WebServer System Administrator’s Guide523346-012
7-43
Allowing Byte Ranges
For example, assume the Dinosaur/1.0 browser fails whenever it attempts to use a
particular CGI program and you want to direct all Dinosaur/1.0 users to an
alternative page. In this case, you could use the User-Agent header to issue a
redirect:
Region /order.cgi {
if {[info exists HEADER(user-agent)] && \
[string match "*Dinosaur/1.0" $HEADER(user-agent)]} {
Redirect /order-dinosaur.cgi
}
}
Allowing Byte Ranges
The iTP Secure WebServer supports byte-range access, which is always enabled.
Web clients that also support byte-range access can request any range within a
requested file. For detailed information about byte ranges, see RFC 2068 “Hypertext
Transfer Protocol-HTTP/1.1,” section 14.36; you can see RFC 2068 by using this
URL:
http://www.ietf.org/rfc/rfc2068.txt
In practice, most data on the Web is represented as a byte stream and can be
addressed with a byte range to retrieve a desired portion of it. This is useful when, for
example, a document transmitted is interrupted, and then resumed: only the missing
portion needs to be transferred. Byte-range requests are typically generated by the
Web client’s software.
As an example, an Adobe Portable Document Format (PDF) helper application would
need to have access to individual pages by byte range; the table that defines those
ranges is located at the end of the PDF file. (Use Adobe Acrobat version 3.0 or later to
take advantage of this feature.)
When the iTP Secure WebServer responds with the requested range, the HTTP status
code 206, Partial Content, is returned and logged to the extended log file.
Implementing Multiple-Host Support
This subsection describes how to implement multiple-host support on the same host
machine. Having support for multiple hosts on the same machine is useful for testing
and for operating servers for different organizations.
There are two ways to implement multiple host support:
Implementing Multiple Servers on page 7-44
Implementing Virtual Hosts on page 7-45