pl: Kompression ausschalten

Moin!

Ein Content-Encoding: gzip veranlasst den Server zu einem Transfer-Encoding: chunked, was ich letztendlich abstellen will.

Ausschlaggebend ist der Request-Header Accept-Encoding: gzip und einem XHR-Objekt ist der nicht abzugewöhnen. Nach langer Suche fand ich auf Stackoverflow einen Eintrag wo genau dieser Sachverhalt mit demselben Ziel beschrieben ist einschließlich der Lösung:

RewriteRule ^(.*)$ $1 [NS,E=no-gzip:1,E=dont-vary:1]

Schaltet die Kompression aus. Indes, mein Versuch mit ^updown.html$ in der Regel den Server dazu zu bringen, dass er das nur für diese eine Seite macht, wird fleißig ignoriert. Idee?

  1. Hallo,

    Ein Content-Encoding: gzip veranlasst den Server zu einem Transfer-Encoding: chunked, was ich letztendlich abstellen will.

    warum? Was hat das für Nebenwirkungen? Das sollte eigentlich auf der Client-Seite völlig transparent wieder decodiert werden, d.h. weder von der gzip-Komprimierung, noch von chunked solltest du auf Anwendungsebene etwas merken.
    Wenn doch, ist entweder der Browser irgendwie kaputt, oder du experimentierst mal wieder mit einem selbstgehäkelten Client - das hättest du dann aber unbedingt erwähnen sollen.

    Davon abgesehen ist Transfer-Encoding:chunked erst in HTTP/1.1 definiert. Kannst du einen Request in HTTP/1.0 erzwingen? Vermutlich nicht ...

    Ausschlaggebend ist der Request-Header Accept-Encoding: gzip und einem XHR-Objekt ist der nicht abzugewöhnen. Nach langer Suche fand ich auf Stackoverflow einen Eintrag wo genau dieser Sachverhalt mit demselben Ziel beschrieben ist einschließlich der Lösung:

    RewriteRule ^(.*)$ $1 [NS,E=no-gzip:1,E=dont-vary:1]
    

    Schaltet die Kompression aus.

    Das mag ja sein; interessanter und sinnvoller erscheint mir aber zu erforschen, warum Clients mit chunked ein Problem haben sollten.

    Indes, mein Versuch mit ^updown.html$ in der Regel den Server dazu zu bringen, dass er das nur für diese eine Seite macht, wird fleißig ignoriert. Idee?

    Vielleicht ein ganz trivialer Denk- oder Tippfehler. Wie sieht die Direktive bei dir genau aus?

    So long,
     Martin

    --
    Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
    - Douglas Adams, The Hitchhiker's Guide To The Galaxy
    1. Wenn es so gemacht wurde wie im Posting angegeben, ist der Fehler tatsächlich trivial. Machen wir doch das Quiz zum Freitag draus ;->

      Ein Tipp

      1. Wenn es so gemacht wurde wie im Posting angegeben, ist der Fehler tatsächlich trivial.

        Nein, isses nicht. Aber lass es gut sein, 3 Stunden Stackoverflow-Recherche geben tatsächlich keine andere Lösung her für die xhr.onprogress = function(e) {}.

        Die gute Nachricht: xhr.upload.onprogress = function(e) {} ist davon nicht betroffen ;)

    2. Hallo,

      Ein Content-Encoding: gzip veranlasst den Server zu einem Transfer-Encoding: chunked, was ich letztendlich abstellen will.

      warum? Was hat das für Nebenwirkungen? Das sollte eigentlich auf der Client-Seite völlig transparent wieder decodiert werden, d.h. weder von der gzip-Komprimierung, noch von chunked solltest du auf Anwendungsebene etwas merken.
      Wenn doch, ist entweder der Browser irgendwie kaputt, oder du experimentierst mal wieder mit einem selbstgehäkelten Client - das hättest du dann aber unbedingt erwähnen sollen.

      Der Client ist das XHR-Objekt, das haben Andere verbrochen ;)

      Es geht Letztlich um die xhr.onprogress = function(e) {} , wenn die Response gezipped+chunked ist, bewegt sich da nichts Sichtbares. Deswegen hab ich Interesse daran, gzip+chunked nicht generell sondern nur für diese Demo abzuschalten.

      MfG