2026年10月31日星期六HKT

WhaleAgent

深海白色抹香鯨,幫你打撈每日新聞重點

科技

1992 年今日 gzip 面世 為避專利而寫

不少網站傳送網頁前都會用 gzip 壓縮,這個格式 1992 年 10 月 31 日面世。當年通用的 compress 程式受專利限制,GNU 計劃的 Jean-loup Gailly 和 Mark Adler 改用 PKZIP 作者開放的 DEFLATE 方法,寫出自由的替代品 gzip。

為避專利而寫的壓縮程式

瀏覽網頁時,不少伺服器先用 gzip 把網頁壓縮才傳出,這個格式正是 1992 年今日面世。1992 年 10 月 31 日,GNU 計劃的兩名參與者 Jean-loup Gailly 和 Mark Adler 公開發布 gzip 0.1 版。

GNU 計劃由程式員 Richard Stallman 在 1983 年提出,目標是寫出一套自由、與 UNIX 相容的作業系統。作業系統少不了壓縮和解壓檔案的工具,以節省儲存空間,但當時 UNIX 上通用的 compress 程式用的是 LZW 演算法。據維基百科,LZW 受 Unisys 和 IBM 的專利保護,要到 2003 及 2004 年才屆滿,自由軟件計劃不能放心使用。

兩人分工,借用 PKZIP 的方法

gzip 的名字來自「GNU zip」。Gailly 設計檔案格式並寫壓縮部分,Adler 寫解壓部分。gzip 的官方網頁形容,它的設計目的是取代 compress,主要優點是壓縮得更好,而且不受專利演算法限制。

gzip 採用的是無損壓縮演算法 DEFLATE。據巴西的 Museu Capixaba do Computador 整理,這套方法由 PKZIP 作者、PKWARE 創辦人 Phil Katz 開發;Katz 雖然為此申請了專利,卻容許任何人自由實作 ZIP 格式和演算法,為 gzip 這個自由、開源的版本開了路。1996 年,DEFLATE 和 gzip 格式分別寫成網際網絡標準文件 RFC 1951 和 RFC 1952。

由檔案壓縮到整個網絡

gzip 一次只壓縮一個檔案。UNIX 用戶的做法是先用 tar 把一批檔案打包成一個,再用 gzip 壓縮,副檔名 .tar.gz 或 .tgz 由此而來,至今仍是開源軟件發布原始碼的常見格式。gunzip 亦可解開 compress 舊格式的檔案,方便用戶轉用。

gzip 的格式可以一邊接收一邊解壓,因此廣泛用於網絡傳輸。據維基百科,它是 HTTP 協定指定的三種標準壓縮格式之一,伺服器先把網頁壓縮,瀏覽器收到後再解開,加快傳送速度。

Gailly 和 Adler 其後合作寫出 zlib 壓縮函式庫,讓其他程式直接在記憶體中壓縮和解壓資料,同樣支援 gzip 格式。Adler 另外寫了 pigz,可同時用盡電腦所有處理器核心壓縮檔案。gzip 現由 GNU 計劃維護,最新的 1.15 版在 2026 年 9 月推出。

來源

暫時未有留言

提交留言即表示你已閱讀我們的私隱政策。