同様の動作に遭遇し、掘り下げて、これが HTTP ヘッダーの奇妙さであることを発見しました。私の場合、nginxを使用していました。どのサーバーにいたかわかりません。問題は、リソースに gzip 圧縮を定義するために、次のように圧縮を有効にしたことです
# gzip settings
gzip on;
gzip_min_length 900;
gzip_buffers 4 32k;
gzip_types application/x-javascript text/xml text/css application/json;
gzip_vary on;
# gzip settings end
ここで重要な考慮事項は、行gzip_min_length 900;
です。これは、コンテンツ サイズが 900 バイト未満の場合、そのリソースを圧縮しないように nginx に指示します。
私の場合のファイル サイズは 506 バイト (900 未満) だったので、nginx は圧縮しませんでした。Content-Length
ただし、リソースを実際に圧縮したかのように送信しました (566 バイト)。(はい、リソースサイズは実際に圧縮時に増加しました。これは、ファイルが小さい場合に予想されることです。そのためgzip_min_length
、最初にディレクティブが存在します)
これを解決するために、単純にしきい値gzip_min_length
を 100 に下げました。これで、nginx はファイルを圧縮し (566 バイトにわずかに膨張します)、正しいContent-Length
ヘッダーも送信します (566 バイト)。
これが誰かを助けることを願っています!