# Compression In order to speed up the data transfer from the client to the server (upload), the server accepts compressed request bodies. The request body should contain binary data representing the compressed file. That means that the generated JSON is compressed client-side using the given algorithm (LZF, ZIP, or base64 zlib). p There are three types of compression supported: ### ZIP file `Content-Type: application/zip` - Used by file uploads ### LZF `Content-Type: application/x-lzfcompress` - Used by Excel Client ### base64 zlib `Content-Type: application/application/x-b64zlibcompress` - Used by former Classic UI The responses of the server are GZIP compressed by default according to the standard HTTP mechanisms (if the client signals support for it). References: http://en.wikipedia.org/wiki/Lempel_Ziv https://github.com/ning/compress ## File Size Limit Protection against zip bombs is implemented by validating the ZIP header and limiting the number of bytes that are read during extraction. The default uncompressed data size limit is set to 2 GB. This data size limit can be configured in *pricefx-config.xml* by setting the `maxExtractedDataSizeBytes` parameter - the number of bytes after which the extraction of compressed data will stop. The ZIP header of compressed payloads will also be validated against this limit. Setting a non-positive value will disable this protection.