by Konstantin Balashov
Compression is one of those technologies where it seems like you get something for nothing. Compression saves bandwidth and speeds up web sites by removing redundancy to reduce the amount of data sent. Although the cost of compression is certainly not zero, over networked environments like the Internet, transmission time is usually the limiting factor. This chapter will show you how to compress the text in your content to minimize bandwidth costs and maximize speed. See Chapter 12, "Optimizing Web Graphics," and Chapter 13, "Minimizing Multimedia," for graphics and multimedia compression information.
Compression algorithms trade time for space by pre-processing files to create smaller versions of themselves . This compressed file is then decompressed to reconstruct the original, or an approximation thereof. The compression process naturally includes two components : encoding, and decoding. Encoding compresses the data, while decoding decompresses the data, usually at a faster rate. With Moore's Law leading Metcalf's, bandwidth concerns usually trump any CPU speed considerations.
Compression works behind the scenes to make many of the products we use more efficient and even feasible . The images and multimedia that make the web so compelling use compression for fast delivery. MP3 players deliver compressed audio for music on the go. Modems use compression to speed transmission. Digital cameras use JPEG compression. Set-top boxes, HDTV, and DVD players use MPEG video compression. Operating systems use compression to save space. Even spies use compression and encryption to send short "spurts" to the homeland. But some forms of compression, mainly text, are underutilized yet quite effective on the web.