Grundsätzlich gibt es zwei Varianten:
- Accept-Encoding. Die Umsetzung erfolgt im Client am ehesten mit Indy und auf der Serverseite vom Webserver. PHP kriegt nichts davon mit. Ein verbreiteter Webserver unterstützt in der Regel Deflate/Gzip/Zlib (eigentlich alles dasselbe), vielleicht bzip2.
- Nutzdaten benutzerdefiniert komprimieren. Die Umsetzung erfolgt durch einen Algorithmus deiner Wahl im Client und in PHP. Auch hier bietet sich Deflate an: In Delphi erstellst du dir einen TZCompressionStream. Beachte, dass du ihn vorm Senden der Daten freigeben muss, weil er erst beim Freigeben die letzten mod $10000
Ausgabe-Byte schreibt. In PHP gibt es dann zlib_decode, das einen String dekomprimiert. Beteiligte Funktionen müssen Binary-Safe sein.