The FPCHTTPCompressionConfiguration object holds the configuration settings for Hypertext Transfer Protocol (HTTP) compression. (This object is introduced in ISA Server 2006.)
ISA Server uses the industry standard GZIP and Deflate algorithms, which are built into Windows Server 2003 and Windows 2000 Server operating systems and into Internet Explorer version 6, Internet Explorer 5, and Internet Explorer 4, for HTTP compression. These algorithms compress static files, and optionally perform on-demand compression of dynamically generated responses before sending them over the network. These same algorithms are again used to decompress the static files and dynamic responses on clients that support HTTP 1.1. A client that is configured to use HTTP 1.1 can request compressed content from a Web server. Web servers indicate in their responses whether they support compression.
The configuration settings for HTTP compression apply to all HTTP traffic that passes through ISA Server to or from the specified sets of source and destination IP addresses, rather than to traffic handled by a specific rule. HTTP compression is provided by two Web filters:
- Compression Filter. This filter is responsible for compression and decompression of HTTP requests and responses. By default, this filter has a high priority, and is high in the ordered list of Web filters. This is because the filter is responsible for decompression. If you choose to provide for the inspection of compressed content, decompression must take place before any other Web filters inspect the content.
- Caching Compressed Content Filter. This filter is responsible for caching of compressed content and serving a request from the compressed content in the cache. This filter has the lowest priority, and is low in the ordered list of Web filters, because caching can take place after all other filters have handled the content.
Do not change the default priority and order settings of these filters.
If HTTP compression is enabled, ISA Server forwards Accept-Encoding headers that specify gzip encoding from clients only to destinations allowed by the RequestDestination property, or adds an Accept-Encoding: gzip header to requests that do not contain this header before forwarding them to these destinations. If compressed content should not be requested from the destination specified in a request, ISA Server deletes any Accept-Encoding header supplied by the client before forwarding the request to the Web server. ISA Server sends a compressed response to a client only if the request contains an Accept-Encoding: gzip header and originates from a source to which the return of compressed content is allowed by the RequestSource or WebListeners property. HTTP compression can be limited to specific content types and to requests that do not contain specific HTTP header names or User-Agent headers.
When HTTP compression is not enabled, the forwarding of Accept-Encoding headers from clients to a Web server and of compressed responses from the Web server to clients is controlled by the SendAcceptEncodingHeader property of the applicable Web publishing rule.
Click here to see the ISA Server object hierarchy.
InheritanceThis object inherits from the FPCPersist object, which contains methods and properties related to the persistent storage of an object's data. They include methods for exporting an object's data to and importing it from XML documents.
The FPCHTTPCompressionConfiguration object does not define any methods.
The FPCHTTPCompressionConfiguration object has the following properties.
|AllowCompressionWithoutContentType||Gets or sets a Boolean value that indicates whether HTTP compression is allowed for responses with no Content-Type header or file name extension.|
|CompressibleContentTypeSets||Gets an FPCRefs collection that contains references to the FPCContentTypeSet collections defining the content type sets for which HTTP compression is allowed or disabled.|
|Enabled||Gets or sets a Boolean value that indicates whether HTTP compression is enabled.|
|MinimumCompressionLength||Gets or sets the minimum HTTP message content length that may be compressed.|
|NoCompressionForSpecifiedContentTypes||Gets or sets a Boolean value that indicates whether HTTP compression is allowed for all content types except the content type sets referenced by the CompressibleContentTypeSets property or is allowed only for the content type sets referenced by the CompressibleContentTypeSets property.|
|RequestDestination||Gets an FPCSelectionIPs object that specifies the complete set of destination IP addresses from which compressed content may be requested.|
|RequestSource||Gets an FPCSelectionIPs object that specifies the complete set of source IP addresses to which compressed responses may be sent.|
|UnsupportedHeaders||Gets an FPCHTTPHeaders collection that contains the list of HTTP header names for which a compressed response will not be requested when any of them is present in the request.|
|UnsupportedUserAgents||Gets an FPCUserAgents collection that contains the list of User-Agent strings for which a compressed response will not be requested.|
|WebListeners||Gets an FPCRefs collection that contains references to the FPCWebListener objects defining the Web listeners included in or excluded from the sources for which compressed responses may be sent.|
|CancelWaitForChanges||Cancels the registration established by the WaitForChanges method (for use in C and C++ programming only).|
|CanImport||Returns a Boolean value that indicates whether the properties of the object and its subobjects can be imported from the specified XML document.|
|Export||Writes the stored values of all the properties of the object and its subobjects to the specified XML document.|
|ExportToFile||Writes the stored values of all the properties of the object and its subobjects to the specified XML file.|
|GetServiceRestartMask||Retrieves a 32-bit bitmask of the FpcServices enumerated type that specifies which services need to be restarted for currently unsaved changes to take effect.|
|Import||Copies the values of all the properties of the object and its subobjects from the specified XML document to persistent storage.|
|ImportFromFile||Copies the values of all the properties of the object and its subobjects from the specified XML file to persistent storage.|
|LoadDocProperties||Provides the XML document's properties so that you can know what information can be imported from the document.|
|Refresh||Reads the values of all the properties of the object and its subobjects from persistent storage, overwriting any changes that have not been saved.|
|Save||Writes the current values of all the properties of the object and its subobjects to persistent storage.|
|WaitForChanges||Registers to wait for an event indicating that the contents of the object have changed (for use in C and C++ programming only).|
|PersistentName||Gets the persistent name of the object. The persistent name of an object is a name that is unique for the object at the respective level of the COM object hierarchy.|
|VendorParametersSets||Gets an FPCVendorParametersSets object that can hold sets of custom data for extending the object.|
This object implements the IFPCHTTPCompressionConfiguration interface.
|Client||Requires Windows XP.|
|Server||Requires Windows Server 2003.|
|Version||Requires Internet Security and Acceleration Server 2006.|
Declared in Msfpccom.idl.