2016-04-14 17 views
1

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?

+0

İç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. –

cevap

1

Ben muhtemelen iş

Kullanım olanlar

biri yapmış ancak herhangi bir yol yoktur alabilir ki (örn pako) birkaç saf JavaScript Gzip uygulamalarının farkında Tarayıcıyı başka bir gereksiz 45 KB kitaplık gerektirmeyecek şekilde benim için çözme kandırmak için?

sayılı

sunucu söylediğini "İşte gzip dosyasıdır" değil "İşte gzip kodlaması kullanılarak iletiliyor bir JSON dosyasıdır".

Tarayıcının net olarak kodunu çözmesini sağlamak için HTTP yanıt başlıklarını değiştirmeniz gerekir.

+0

Şüphelendiğim kadarıyla, ama yine de sormaya değer olabileceğini düşündüm. Teşekkürler! – timothyb89

İlgili konular