Ist gzip-Codierung kompatibel mit JSON?
Ich versuche zu verengen einige Verrücktheit mit meiner AJAX-Aufrufe. Meine PHP-Skripts haben diese am start:
ob_start("ob_gzhandler");
Funktioniert Super mit HTML. Aber gibt es irgendwelche Probleme mit es zu tun mit application/json-Daten? Alle browser Fragen, wer ist bewusst?
- Seine arbeiten gut für mich. Es richtig schicken json-Daten mit content-encoding gzip in php 5.5.15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke nicht so... ich habe statische Dateien als Gzip-JSON vor, und es hat gut funktioniert mit AJAX.
edit: überprüfte ich mein php-Skript und die einzige Sache, die ich besonders machte, war diese Header:
Wenn ich mich Recht erinnere, immer wenn ich versuchte zu ändern, den Content-Type zu etwas, das darauf hindeuten würde, JSON, hatte der Kunde Probleme.
Einigen älteren Browsern, wie bestimmte Versionen von IE6, Schraube bis Gzip-Inhalte, insbesondere js-Inhalte.
Einfach überprüfen, ob Ihr server sendet die richtige content-encoding-header, das ist
Sollten Sie auch überprüfen Sie die gesendeten Header durch den browser für die ordnungsgemäße accept-encoding-header vor dem senden gzipped-Inhalt... das heißt,
Geben Sie gzipped-Inhalt, wenn der browser gibt
gzip
imAccept-Encoding
- request-header. In diesem Fall gibt es keinen Unterschied zwischen JSON und HTML und keine Probleme verursacht werden, zu löschen.Statt, die die Aktivierung der Komprimierung in PHP würde ich die Komprimierung aktivieren im Apache mit mod_deflate), so dass Sie überprüfen können, für verschiedene nicht-kompatible Browser und sendet die komprimierten Daten für die Browser, die es akzeptieren und behandeln Sie richtig.
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html