Hallo,
Dann kann ich mir nur denken, dass da zwischen in.read() und out.write() zuviel Zeit vergeht, die Manipulation also zu lange dauert. Da könnte man eventuell die Puffergröße mal verkleinern:
Das glaube ich nicht. Wie groß sind HTML-Seiten? Was soll da so lange dauern? Und was sol daran schlimm sein? PHP ist siehr deutlich langsamer, aber da habe ich schon erheblich "wildere" Sachen gemacht ;-)
Ähm:
Bei PHP _weiß_ der Server von der Langsamkeit. Der Server liefert erst das durch PHP gelaufene HTML via HTTP aus. Der Client merkt von _dieser_ Langsamkeit nichts. Er sieht einen langsamen Server.
Bei einem Proxy denkt der Server, er liefere an einen User-Agent. Der Client meint, er erhielte von einem Server. Keiner der beiden nimmt Rücksicht auf Verzögerungen im Proxy.
byte[] buf = new byte[1024];
Damit sollte das replaceAll() eventuell schneller werden.
Aber insgesamt langsamer, oder?
Ja, aber der Stream wird insgesamt flüssiger. Nicht:
- l a n g e P a u s e -4096Byte, sondern:
-kurze Pause-1024Byte-kurze Pause-1024Byte-kurze Pause-1024Byte-kurze Pause-1024Byte
- Ich lese und schreibe die Daten nicht byteweise(nur bei content-type html), sondern zeilenweise mit readline als String, und verwende replace auf jede line, und schreibe den veränderten String dann wieder auf "out"
Ich versuche jetzt aber nochmal "methode 2." ;-)
Probiers aus.
viele Grüße
Axel