Firmware - ZIP files - Wrong http headers

Hello! I have some strange behaviour on cumulocity zip files firmware handling, some folders where the firmware is, I get following correct http header when downloading them:

“content-type” : “application/zip”

but on some folders I get:

“content-type” : “application/x-zip-compressed”
“vary” : “Accept-Encoding”
“content-encoding” : “gzip”

what is imho wrong, an let my download application, to need a lot of more RAM, what is bad on embedded device.

Does someone also see this behaviour?

@cumulocity maintainers, please contact me private, I can send you my Tenant ID and the urls which works and which do not work.

Thanks a lot, regards manfred gruber

Can you clarify exactly what you are downloading and from where and which headers you are including in the request to do so?

Typically firmware for devices is downloaded either from Cumulocity inventory binaries using this endpoint: Cumulocity - OpenAPI or from external download sources, that Cumulocity cannot control. In some preliminary tests with zip files I was not able to reproduce any compression in content encoding. With compressible files (like text files) compression is used, but you can control this behaviour using the Accept-Encoding header. Setting Accept-Encoding: identity disabled all compression reliably in all my testing.

Hi Philipp_Emmel!

Thanks, yes Accept-Encoding: identity works, i will include this in my software.

For reverence, it looks for me that when zip files are uploaded via windows the header at downloading is something strange, e.g 2 examples one not correct, one is correct:

For this binary the header looks not ok:

https://t913976230.eu-latest.cumulocity.com/inventory/binaries/7726707876

-– [RECEIVED HTTP HEADERS] —
“date” : “Tue, 07 Jul 2026 10:29:56 GMT”
“content-type” : “application/x-zip-compressed”
“transfer-encoding” : “chunked”
“connection” : “keep-alive”
“x-content-type-options” : “nosniff”
“cache-control” : “no-cache, no-store, max-age=0, must-revalidate”
“pragma” : “no-cache”
“expires” : “0”
“x-frame-options” : “DENY”
“content-disposition” : “attachment; filename=“EDITED.zip”; filename*=UTF-8’'EDITED.zip”
“accept-ranges” : “bytes”
“vary” : “Accept-Encoding”

For this binary the header looks ok:

https://t913976230.eu-latest.cumulocity.com/inventory/binaries/3827167773

-– [RECEIVED HTTP HEADERS] —
“date” : “Tue, 07 Jul 2026 10:36:52 GMT”
“content-type” : “application/zip”
“transfer-encoding” : “chunked”
“connection” : “keep-alive”
“x-content-type-options” : “nosniff”
“cache-control” : “no-cache, no-store, max-age=0, must-revalidate”
“pragma” : “no-cache”
“expires” : “0”
“x-frame-options” : “DENY”
“content-disposition” : “attachment; filename=“EDITED.zip”; filename*=UTF-8’'EDITED.zip”
“accept-ranges” : “bytes”

But with the fix Accept-Encoding: identity all is good for me and fixed.

Thanks a lot, regards manfred