Ekranda görece büyük JSON veri kümelerini (XHR aracılığıyla) indiren, yalnızca istemci için bir JavaScript uygulaması yazıyorum. Alan ve bant genişliğinden tasarruf etmek için bu veri kümelerini önceden gziplemek istiyorum (ör. mydata.json.gz
).XHR yanıtını gzip olarak yorumlamak için tarayıcıyı zorla
Ne yazık ki, sunucu yapılandırması üzerinde kontrol yok ve oldukça Content-Encoding: gzip
ve Content-Type: application/json
doğru çifti daha, benim .json.gz
dosyalar için Content-Type: application/x-gzip
başlıklarını gönderir. Bu nedenle, uygulamam JSON.parse()
'a iletebileceğim bir şey yerine ham gzipli verileri alıyor.
Muhtemelen işin bitmesine neden olabilecek birkaç basit JavaScriptli Gzip uygulamasının (örn. pako) farkındayım, ancak başka türlü gereksiz gerektirmeyecek şekilde tarayıcının kodunun çözülmesini sağlamak için tarayıcının kandırılmasının bir yolu var mı? 45KB kütüphanesi?
İçerik Kodlaması'ndan beri: gzip, HTTP protokolü düzeyi ayarıdır. Tarayıcı, akışı sıkıştırmak için herhangi bir API uyguladığını düşünmüyorum. Sunucunuzdaki http yanıt üstbilgisini değiştirmenin sınırlandığının farkındayım. Ama en iyi yol hala yapılandırmak için doğru http yanıtı başlığı sunucunuz. –