Content compression accelerates apps

Opinion
Sep 11, 20062 mins

* Content compression is way to get content from app to client faster

Content compression accelerates apps

By Hooman Beheshti

In Web applications, client response time and latency represent challenges for network and systems administrators. Content compression is one of the most popular methods used to get content from the application to the client faster.

For applications that serve a global community of users where there is no control over the client network, compression is most often deployed in an asymmetric appliance that sits in front of the Web application. Sometimes known as application front ends, these appliances provide compression along with a number of other features, such as TCP acceleration/offload, load balancing and SSL offload. Here, asymmetric refers to the the appliance being deployed only at one side of the delivery path (that is, the data center, in front of the Web servers).

A lot of Web content is text based (such as HTML, XML and CSS) and, therefore, highly compressible. Because compressing content reduces the number of bytes that traverse the network from the application to the client, it’s a natural step toward reducing response times.

All popular browsers support compression. Through the use of the Accept-Encoding request HTTP header, the client indicates that it can receive compressed content. It also indicates through the same header the compression algorithms it supports; gzip and deflate are the most common. This tells the server side of the application (in this case, the application front end) that the requested content can be compressed before it’s sent to this client.

An application front end requests the content from the server, compresses it through one of the compression algorithms supported by the client, inserts the proper HTTP headers to indicate that it’s compressed (and the algorithm used) and then sends it to the client. Because the compressed version is smaller than the original, the object will reach the client faster. The client browser decompresses the object and renders it for the user. Even though there is a small amount of overhead for the client in the decompression task, it is negligible when compared with the benefits of significantly reducing the number of bytes that traverse the network.

For more of this story, please go here.

Beheshti is vice president of Technology for Crescendo Networks. He can be reached at mailto:hooman@crescendonetworks.com