Kompression

Im Allgemeinen bezeichnet das Wort „Datenkompression“ die Fähigkeit, die Anzahl an Bits zu verringern, die zur Darstellung von Daten notwendig sind. Dazu werden beispielsweise wiederkehrende Zeichenfolgen durch einen Kompressionsalgorithmus mit einer Referenz auf die erste dieser Zeichenfolgen versehen. Eine geeignete Kompression muss ohne Informationsverlust passieren.

Zwei im Bereich der HTTP-Kommunikation sehr verbreitete Kompressionsarten sind gzip und deflate. Beide werden in Sende- und Empfangsrichtung im HTTP-Treiber und der Tc3_IotBase-Bibliothek seit TwinCAT-Version 3.1.4024.11 unterstützt. Die Verfahren gehören zur Gruppe der verlustfreien Kompressionsarten.

In TwinCAT kann die Kompression für einen FB_IotHttpRequest-Baustein individuell eingestellt werden und wird diesem als Eingangsparameter übergeben. Als Standard wird in Senderichtung keine Kompression verwendet, in Empfangsrichtung kann der Treiber ohne separate Einstellungen beide Arten der Kompression empfangen und korrekt darstellen.

In der folgenden Abbildung wird ein HTTP-Request an die Test-REST API Postman Echo dargestellt (siehe PostmanEcho). Der TwinCAT HTTP-Client teilt der REST API per Header-Field mit, dass sowohl deflate als auch gzip in Empfangsrichtung unterstützt werden.

Kompression 1: