• View Communities
    • Citrix Communities
      Visit the Citrix Communities to get and share technical information and best practices about desktop delivery, datacenter, networking and cloud computing solutions.
    • Citrix Blogs
      Learn the latest from the Citrix employees who are building the future of virtual computing.
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Find related blogs, best practices, code downloads, APIs and more.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
  •  Sign In
Citrix Developer Network

Understanding Compression and How it Works

A brief overview about the compression feature and how it works.

Summary

The compression feature of the Citrix NetScaler system compresses HTTP responses for browsers that are compression aware, thus improving the performance of Web sites with compressible content.

In a transaction management environment, users, very often, face problems such as poor Web site performance, huge download time, and high bandwidth usage. Also, Web site performance is affected by WAN latency and connection bottlenecks. The Citrix NetScaler system alleviates these problems by implementing lossless compression that reduces the number of packets of data transmitted, thus reducing both download time and bandwidth usage for users. In lossless compression, the exact original data is reconstructed from the compressed data.

How Compression Works

Compression is implemented at origin sites with HTML or other compressible content that is either statically or dynamically generated. The system compresses content of the MIME types such as text/html, text/plain, text/xml, text/css, text/rtf, application/msword, application/vnd.ms-excel, and application/vnd.ms-powerpoint. HTTP compression is interpreted by popular browsers such as Internet Explorer, Firefox, and Netscape. The system does not compress content of type application/octet-stream, binary, and bytes and images in GIF and JPEG formats.

The system configured with compression policies intercepts requests from compression-aware clients and applies the compression policies to determine whether the client can accept compressible content. After the system receives the HTTP response from the server, the content is examined to determine if it is compressible. If the content is compressible, it is compressed, and the compressed content is forwarded to the client. The response header is modified to indicate the type of compression performed.

The following diagram illustrates a compression deployment in a transparent, non-vserver mode where compression policies are enabled globally. This enables the compression policies to act on any service irrespective of the vserver the service is bound to.
Compression entity model

As shown in this figure, to configure compression, you need to define services and compression polices. Services are entities that are logical representations of applications on the physical servers. The compression policies enable the system to identify the content that needs to be compressed. A compression policy consists of an expression and an action. An expression is created to identify the files entering the system, for example, HTML files, ASP files, or PDF files. An action defines the action the system performs on the file identified by the expression. For example, you can configure a compression policy comprising of an expression that identifies PDF files and an action that compresses the PDF files.

You can also configure compression in a vserver mode where the compression policies are bound to a load balancing vserver. This allows the compression policies to be evaluated for only the services bound to that vserver. This is illustrated in the following diagram.
Compression entity model in a vserver mode
As shown in the figure, in this deployment, you need to configure a vserver, services, and compression policies, and bind the services and policies to the vserver. A vserver is an entity that identifies the least loaded origin server and directs client requests to the corresponding service. The system evaluates the compression policies and determines whether the response is compressible. The compressible content is compressed and sent to the client.

More Information

Tags

appcompress appcompress Delete
compression compression Delete
compress compress Delete
performance performance Delete
bottlenecks bottlenecks Delete
lossless lossless Delete
static static Delete
dynamic dynamic Delete
mime mime Delete
text text Delete
plain plain Delete
css css Delete
rtf rtf Delete
msword msword Delete
excel excel Delete
powerpoint powerpoint Delete
browsers browsers Delete
firefox firefox Delete
netscape netscape Delete
octet-stream octet-stream Delete
binary binary Delete
bytes bytes Delete
images images Delete
gif gif Delete
jpeg jpeg Delete
png png Delete
how to how to Delete
bandwidth usage bandwidth usage Delete
wan latency wan latency Delete
internet explorer internet explorer Delete
compression aware compression aware Delete
Enter tags to add to this page:
Please wait 
Looking for a tag? Just start typing.
Related Links