Trình duyệt có thể gửi tiêu đề "Chấp nhận mã hóa" cho biết nó có thể chấp nhận các loại mã hóa khác nhau. Thông thường đây là "gzip, def def". (Google Chrome có định dạng kỳ lạ gọi là "sdch" mà bạn có thể bỏ qua.) Sau đó, nếu bạn nhận được tiêu đề đó từ trình duyệt, bạn có thể, nếu bạn muốn, hãy gửi lại nội dung của bạn bằng cách sử dụng định dạng gzip hoặc định dạng khử. Khi bạn làm điều đó, tất nhiên bạn cần nói cho trình duyệt biết bạn đã làm gì, vì vậy bạn thêm tiêu đề "Mã hóa nội dung" vào nội dung gửi đi của bạn.
Cả hai định dạng gzip và defat đều được định nghĩa trong RFC (tài liệu tiêu chuẩn internet). Không có tùy chọn "zip", mặc dù có thể có tùy chọn "bzip2" trong một số trình duyệt.
Bây giờ vấn đề của bạn là mã hóa công cụ của bạn theo định dạng đó và gửi lại. Nếu bạn đang sử dụng Apache, có nhiều cách để thiết lập nó để tự động làm điều đó (mod_deflate, v.v.). Nếu bạn đang gửi hình ảnh thì hãy lưu ý rằng hầu hết các định dạng hình ảnh như JPEG, PNG, GIF, v.v. đã được nén để bạn không nhận được bất kỳ lợi ích nào từ việc nén chúng. Về cơ bản, nó chỉ hoạt động cho HTML, CSS, văn bản thuần túy hoặc JavaScript.
Bạn cần cẩn thận khi sử dụng mã hóa "khử" vì Internet Explorer có một lỗi tồn tại từ lâu, nơi nó không hiểu điều đó quá rõ. Tôi tin rằng những thứ quần ưa thích như Google App Engine sẽ tự động tìm ra cách nén nào để sử dụng và áp dụng nó cho bạn.