After CompuServe and Unisys rattled their GIF copyright sabers in late 1995, browser manufacturers rushed to add PNG support to their browsers. Luckily, the PNG format uses public domain GZIP/ZLIB6 compression algorithms (deflate and inflate), which are based on the older, nonproprietary Lempel-Ziv algorithm (LZ77). GIFs use the less efficient Lempel-Ziv-Welch algorithm (LZW), which is based on LZ78. To receive and display PNG files, the browser manufacturers had to add ZLIB inflation to their browsers. CompuServe subsequently backed down, but the deed was done. Now browsers had ZLIB support.
Developers at Microsoft and Netscape realized that they already had ZLIB on board to handle inflating PNG files. Why not implement IETF content encoding? Why not indeed. Their first attempts went badly (browsers would report "Accept-Encoding" but then botch things when the compressed data arrived), but after a few more browser releases, they both got it right. The outcome is that any browser that can display PNG files can usually decompress anything sent with IETF content encoding: gzip.
|