Starting from Http 1.1, browser can let your Http Server know that it can handle zipped content by sending Accept-Encoding header in request like this
Accept-Encoding: gzip, deflate
This header tells the server that browser know how to unzip content zipped using either gzip or deflate.
When web server sees this, it might decide to zip the response using one of the method that browser understand say gzip, so first it zips the response and sets Content-Encoding header like this on the response to let browser know that the response is zipped and the method used for zipping response
There are two methods for zipping the Http Response one is gzip and other is deflate. Most of the browsers support gzip but not deflate. Some of the browsers that do support deflate, also support gzip, so we should use gzip as much as possible.