SteelHead™ Deployment Guide - Protocols : HTTP Optimization
HTTP Optimization
This chapter includes examples of techniques used by the Hypertext Transfer Protocol (HTTP) optimization module on the SteelHead to improve optimization. This chapter includes the following sections:
  • HTTP and Browser Behavior
  • RiOS HTTP Optimization Techniques
  • HTTP Authentication Optimization
  • HTTP Automatic Configuration
  • HTTP Settings for Common Applications
  • HTTP Optimization for SharePoint
  • HTTP Optimization Module and Internet-Bound Traffic
  • HTTP and IPv6
  • Overview of the Web Proxy Feature
  • Tuning Microsoft IIS Server
  • Info-Level Logging
  • Use Case
  • The HTTP protocol has become the accepted standard mechanism for transferring documents on the Internet. The original version, HTTP v1.0, is documented in RFC 1945 but has since been superseded by HTTP v1.1 and documented in RFC 2068. TCP protocol is the most common underlying transport protocol for HTTP.
    By default, a Web server listens for HTTP traffic on TCP port 80, although you can reconfigure the Web server to listen on a different port number. HTTP uses a very simple client-server model—after the client has established the TCP connection with the server, it sends a request for information and the server replies back. A Web server can support many different types of requests but the two most common types of requests are as follows:
  • GET request - asks for information from the server.
  • POST request - submits information to the server.
  • A typical Web page is not one file that downloads all at once. Web pages are composed of dozens of separate objects including JPG and GIF images, JavaScript code, cascading style sheets, and more—each of which is requested and retrieved separately, one after the other. Given the presence of latency, this behavior is highly detrimental to the performance of Web-based applications over the WAN. The higher the latency, the longer it takes to fetch each individual object and, ultimately, to display the entire page. Furthermore, the server might be protected and require authentication before delivering the objects. The authentication can be once per connection or it can be once per request.
    The HTTP optimization module addresses these challenges by using several techniques. For example:
  • The HTTP optimization module learns about the objects within a Web page and prefetch those objects in bulk before the client requests them. When the client requests those objects, the local SteelHead serves them out locally without creating extra round trips across the WAN.
  • The HTTP optimization module learns the authentication scheme that is configured on the server. It can inform the client that it needs to authenticate against the server without the client incurring an extra round trip to discover the authentication scheme on the server.