Komprimieren von HTML (SAP)
a-dead-trousers
- browser
0 ChrisB0 a-dead-trousers0 Multi0 a-dead-trousers0 Multi
hi!
Eines vorweg:
Ich weiß wie man bei einem HTTP-Server die Komprimierung aktvieren kann und auch das dafür ein spezieller Header (Content-Encoding) mitgeschickt werden muss.
Gehen wir mal aber auch davon aus, dass ich nicht WEIß ob die Daten die ich mit meiner Applikation (SAP) ausliefere überhaupt über einen HTTP-Server laufen oder ob da nicht einfach eine lokale Datei angelegt wird und dem Browser (IE) übergeben wird. Ob es über einen HTTP-Server läuft und ob ich da einen Header mitschicken kann, kläre ich gerade in einem anderen Forum.
Und jetzt meine Frage an euch: Könnte ich die Daten, wenn das mit dem Header nicht funktioniert, derart modifizieren, dass das HTML mit GZIP komprimiert wird und der IE es aber dennoch darstellt und nicht als "Dateidownload" interpretiert?
Sprich, ich stelle mir so etwas vor, dass am Beginn der Datei der Header drinnensteht und der IE daran erkennt, dass der weitere Inhalt der Datei als komprimiertes HTML interpretieren werden soll.
lg ADT
Hi,
Und jetzt meine Frage an euch: Könnte ich die Daten, wenn das mit dem Header nicht funktioniert, derart modifizieren, dass das HTML mit GZIP komprimiert wird und der IE es aber dennoch darstellt und nicht als "Dateidownload" interpretiert?
Sprich, ich stelle mir so etwas vor, dass am Beginn der Datei der Header drinnensteht und der IE daran erkennt, dass der weitere Inhalt der Datei als komprimiertes HTML interpretieren werden soll.
Ganz ohne einen Server, über den die Datei ausgeliefert wird, vermutlich eher nein.
Ältere IE haben zwar sehr gern "geraten", was ihnen vorgesetzt wird - aber inzwischen tut der IE das eigentlich nicht mehr, weil es u.a. Siherheitsprobleme mit sich brachte (Scriptcode in Bilddateien bspw.)
Wenn die Datei über einen Apache-Webserver ausgeliefert wird, gibt es die Möglichkeit, sie "as-is" ausliefern zu lassen - dabei können dann HTTP-Header am Dateianfang notiert werden.
Aber wozu willst du die Daten überhaupt komprimiert ausliefern, wenn gar kein HTTP im Spiel ist? IaR. komprimiert man doch, um weniger Daten "über die Leitung" schicken zu müssen. Bei einer Auslieferung über ein lokales Dateisystem sollte der Faktor aber weniger relevant sein. Oder willst du die Daten anderweitig über ein Netzwerk verteilen?
MfG ChrisB
Aber wozu willst du die Daten überhaupt komprimiert ausliefern, wenn gar kein HTTP im Spiel ist? IaR. komprimiert man doch, um weniger Daten "über die Leitung" schicken zu müssen. Bei einer Auslieferung über ein lokales Dateisystem sollte der Faktor aber weniger relevant sein. Oder willst du die Daten anderweitig über ein Netzwerk verteilen?
Leider ist SAP ein Netzwerkgestütztes System mit Client/Server. Grundsätzlich werden die Daten über sog. DataProvider "as-is" versendet und der Client übernimmt die weitere Verarbeitung. Daher weiß ich auch nicht ob am Client der die Weitergabe an den IE regelt ein HTTP-Server läuft oder ob das per lokaler (TEMP-)Datei erfolgt.
Ich hab schon einige Mechanismen eingebaut, damit nicht jedesmal unnötig Daten versendet werden (AJAX, JQuery und Co.), aber die Grunddatei kann durchaus größer werden und muss auch öfters aktualisiert werden.
Ich werd auch noch einige andere Sachen versuchen, die Daten so klein wie möglich zu halten, wenn ich sie dann auch noch komprimieren könnte hätte ich quasi die eierlegenede Wollmilchsau ;)
Daher weiß ich auch nicht ob am Client der die Weitergabe an den IE regelt ein HTTP-Server läuft oder ob das per lokaler (TEMP-)Datei erfolgt.
Das siehst du doch an der Adressezeile, da dort ein Protokoll angegeben ist.
Das siehst du doch an der Adressezeile, da dort ein Protokoll angegeben ist.
Der IE läuft inplace. Also nix mit Adreezeile usw.
Das Protokoll ist übrigens "saphtmlp://" soviel hab ich schon herausgefunden. (Rechtsklick -> Seiteninformationen)
Glaubt mir, ich würde hier nicht nach einer Methode die Daten anderwertig zu komprimieren fragen, wenn ich nicht schon alles andere (einfache) ausprobiert hätte.
Das Protokoll ist übrigens "saphtmlp://" soviel hab ich schon herausgefunden. (Rechtsklick -> Seiteninformationen)
Aber das heisst doch, dass die Seite vom Server kommt, oder läuft aufm IE ein Plugin zum Datenempfang?
Hab noch nie mit SAP gearbeitet, kann also nur Vermutungen anstellen, keine Erfahrungswerte weitergeben.