問題タブ [deflate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4815 参照

iis - http 圧縮に deflate ではなく gzip を選択すると、パフォーマンスに影響がありますか?

最近、一部のサイトを deflate から gzip に切り替えたところ、サーバーの CPU 負荷が大幅に増加していることに気付きました。

0 投票する
3 に答える
3352 参照

http - http/1.0 および deflate/gzip

http/1.0 は圧縮されたコンテンツと gzip コンテンツを処理できますか? ミニマリスト Web サーバーに deflate と gzip の実装を完了しましたが、http/1.0 のブラウザーが deflate と gzip で圧縮されたコンテンツを処理できるかどうかはよくわかりません。

0 投票する
2 に答える
12788 参照

merge - 2 つの GZIP ファイルを解凍せずにマージする GZIP マージはありますか?

a.gz と b.gz があるとしましょう。

$ gzip_merge a.gz b.gz -output c.gz

このプログラムをやりたいです。もちろん、

$ 猫 a.gz b.gz > c.gz

動作しません。a.gz の最後の DEFLATE ブロックには BFINAL があり、b.gz の GZIP ヘッダーがあるためです。(RFC1951、RFC1952 を参照) ただし、BFINAL の設定を解除し、2 番目の GZIP ヘッダーを破棄して、2 番目の gzip ファイルのバイト境界を通過すると、マージできます。

実は、この件についてオープンソース プログラムを書こうと思ったのですが、それを公開する方法がわかりませんでした。そこで私は Joel に私のプログラム マネージャーを依頼し、私の説明と弁明について説明しました。彼は最終的に私がやりたいことを理解してくれましたが、忙しすぎると言いました。:(

もちろん、自分で書いて、自分のやり方で公開することもできます。しかし、私の日中の仕事は雇用主の所有物であるため、これを一人で行うことはできません。

ボランティアはいますか?プログラマー(私)、パブリッシャー(あなた)、またはプログラマー(あなた)、パブリッシャー(私)として働くことができます。私が必要とするのは、いくらかの信用です。RFC3320 で説明されている Universal Decompressor Virtual Machine を実装したことがあります。だから私はこれが実現可能であることを知っています。

または、そのプログラムを教えてください。365 (日) の gzip 圧縮されたログ ファイルを 1 つにマージするなど、ログ ファイルの管理に非常に役立ちます。;)

ありがとう。

0 投票する
9 に答える
136937 参照

apache - Apacheが提供するテキストファイルにgzipの代わりにdeflateを使用するのはなぜですか?

LAMPサーバーによって提供されるhtml、css、およびjavascriptファイルに対してどちらの方法でもどのような利点がありますか。より良い選択肢はありますか?

サーバーはJsonを使用してマップアプリケーションに情報を提供するため、大量の小さなファイルがあります。

http圧縮のためにdeflateよりもgzipを選択することに関連するパフォーマンスへの影響はありますか?も参照してください。

0 投票する
2 に答える
2553 参照

algorithm - deflateアルゴリズムでブロックサイズを決定するための良い戦略は何ですか?

私は小さなサイド プロジェクトとして圧縮ライブラリを作成していますが、十分に進んでいます (私のライブラリは標準の gzip ファイルを抽出し、準拠した (ただし、まだ最適ではない) gzip 出力を生成できます)。意味のあるブロック終了戦略を打ち出します。現在、32k の入力 (LZ77 ウィンドウ サイズ) ごとにブロックを切り取っています。これは、実装が便利で迅速だったからです。今は、圧縮効率を実際に改善しようとしています。

Deflate 仕様には、これについて次のように書かれているだけです。それは役に立ちます。

SharpZipLib コードを並べ替えたところ (これが最も読みやすいオープン ソース実装であることがわかったので)、出力の 16k リテラルごとにブロックを終了し、入力を無視することがわかりました。これを実装するのは簡単ですが、特に仕様の言語が「新鮮なツリーで新しいブロックを開始することが有用であると判断する」ことを考えると、よりターゲットを絞ったアプローチが必要なようです。

新しい戦略のアイデアや、既存の戦略の例を持っている人はいますか?

前もって感謝します!

0 投票する
4 に答える
21959 参照

c# - .NET の HttpWebResponse は、GZiped および Deflated 応答を自動的に解凍しますか?

圧縮された応答を受け入れる要求を実行しようとしています

2 行目を追加すると、解凍を手動で処理する必要があるのではないかと思います。

0 投票する
1 に答える
4655 参照

c# - ファイルの一部で DeflateStream をどのように使用しますか?

私は他の質問の解決策に取り組んでいますPNGの「zTXt」チャンクのデータを読み取っています。私は、ファイル内のチャンクを見つけて、zTXt のキーワードを読んでいます。zTXt の圧縮部分の読み取りに問題があります。以前に DeflateStream オブジェクトを使用したことがなく、問題が発生しています。読み取り時に、長さパラメーターが「非圧縮」バイトであることを期待しているようです。ただし、私の場合、「圧縮された」バイト単位のデータの長さしかわかりません。うまくいけばこれを回避するために、解凍する必要のあるすべてのデータを MemoryStream に入れ、DeflateStream で「読み取りから終了」します。「ブロックの長さがその補数と一致しません」というメッセージとともに InvalidDataException をスローすることを除いて、これは単なるピーチです。今、私はこれが何を意味するのか分かりません。

チャンクの形式は、ID ("zTXt") の 4 バイト、データ長のビッグ エンディアン 32 ビット int、データ、そして最後に今のところ無視している CRC32 チェックサムです。

zTXt チャンクの形式は、最初は null で終了し (キーワードとしての文字列)、次に圧縮方法 (常に 0、DEFLATE 方法) 用の 1 バイトで、残りのデータは圧縮されたテキストです。

私のメソッドは新しい FileStream を取り込み、zTXt キーワードとデータを含む辞書を返します。

これが今のモンスターです:

これに取り組んだら、これらの zTXt チャンクをファイルに追加する関数を作成する必要があります。これが解決されたら、DeflateStream がどのように機能するかを理解できることを願っています。

どうもありがとう!!

0 投票する
2 に答える
2986 参照

html - zlib 圧縮された html ページのファイル拡張子?

zlib (deflate) を使用して圧縮された html ファイルは、サーバー上に置かれているように見えますか? .html とは異なる拡張子を持っていますか?

0 投票する
1 に答える
1221 参照

html - Zlibを使用してchar配列を圧縮されたhtmlページに圧縮するにはどうすればよいですか

char* を html ページとして保存して html ページを作成する C の CGI アプリケーションがあります。

と呼ばれる

zlib を使用して "outputFile" char 配列を入力として受け取り、適切なヘッダーを含む圧縮された html ページを出力するにはどうすればよいですか?

ここで、 saveTextFile関数の代わりにgzopenを使用しますか?

アドバイスをいただければ幸いです。ありがとう。

0 投票する
3 に答える
11943 参照

apache - mod_deflate を有効にして Content-Encoding: gzip を送信する

編集問題は実際にはphp minifyであることがわかりました。これは、Apache の代わりに圧縮されたコンテンツを送信していました。私はこれについてもっと見つけるでしょう。

High Performance Web Sitesによると、次の行を追加して Apache 2.x で mod_deflate を有効にすると、gzip された/delfated コンテンツが送信されるはずです: -

その本はまた、それgzipがより効果的であると述べていdeflateます.

同じ行を追加して、httpd.conf で有効にしました。しかし、Apache はContent-Encoding: deflate.

以下を使用してCURLでテストしました: -

「gzip された」コンテンツを返します。しかし、コマンドを送信すると: -

「収縮した」コンテンツを返します。

そのため、ブラウザーが deflated と gzipped の両方をサポートしている場合、Apache は deflated を送信します。deflate よりも gzip を優先するように Apache に指示する方法は?

ご参考までに: -

  • http://httpd.apache.org/docs/2.0/mod/mod_deflate.htmlで何も見つかりませんでし た。
  • Apache conf に no-gzip はありません。
  • サーバー: Apache/2.2.9 (Win32) PHP/5.2.6
  • FF はリクエスト ヘッダーを次のように送信します: "Accept-Encoding: gzip, deflate"