Content compression is probably the easiest approach to reduce page weight, and can have a big impact on page load times. Not all content can be compressed - images, PDFs etc are likely to be compressed already. The best candidates are text files - HTML, XML, CSS, Javascript etc
HTTP 1.0 introduced the idea of content encodings. The Accept-Encoding request-header was expanded on in HTTP 1.1, enabling a browser/client to notify the server that it can accept compressed content by sending the header. The Accept-Encoding header can be set as follows:
Accept-Encoding: gzip,deflate
or with just one of gzip or deflate. PHP will automatically choose the correct compression to use. Gzip is by far the most popular and widely used compression method. For Apache 2.x, gzip compression is handled by the mod_deflate module.