2011-07-04 61 views
1

我有一個讓你可以在一個請求中獲得一個或多個文件內容的API,我將它們作爲deflate/gzip和普通文本,現在我使用正常文本,但想知道是否可以合併放氣文件併發回請求正如我所做的那樣,是否仍然有效?gzip或deflate文件可以合併在一起嗎?對於api

我試過一些測試,但只有一個文件內容顯示在瀏覽器和其他不要,但我看到有一些例子發送多個gzip文件作爲zip文件。所以我想知道它是否可能,如果是的話,那我該怎麼做。

回答

1

gzip只在內部支持單個文件。這不是一個容器格式,只是一個直接的通貨緊縮。沒有提供維護一個文件結尾和另一個文件開始的目錄,讓文件元數據(文件名,創建日期,大小等等)

您可以使用.tar將多個文件拼接在一起,並且然後gzip .tar文件。或者使用zip將多個文件(任何類型)封裝到一個.zip文件中。既然你說你會壓縮.gz文件,我建議只使用zip作爲容器,禁用壓縮。通過重新壓縮.gz文件,您節省的幾個字節將不值得執行額外壓縮運行的CPU開銷。

+0

使用zip後,我可以在瀏覽器中顯示多個文件作爲文本,就像我們發回gzip文件(javascript,css,text,json ...)到瀏覽器,它顯示罰款..它會做相同的zip文件?還有什麼放氣,或defalte和gzip是相同的方式... – Basit

+0

嗯...不。就人類易讀性而言,壓縮文件基本上是二進制垃圾。 –

+0

是不是有辦法做到這一點?因爲我想要json請求存儲,當用戶請求它,然後只是從gz文件發送它們,不一次讀取一個文件,但兩個或三個json gz文件,並將它們發回給響應..我真的有解壓縮它們然後重新壓縮? – Basit

相關問題