Cookies

Cookies werden im HTTP-Umfeld für drei Use-Cases eingesetzt. Zu den Use-Cases gehört zum einen Session-Management, was beispielsweise für Logins genutzt wird oder allgemein für alles, was der Server sich „merken“ muss. Zum anderen werden Cookies aber auch für Personalisierung und Tracking eingesetzt.

Aus technischer Sicht sendet ein HTTP-Server bei einer Antwort an den Client ein oder mehrere Header-Fields mit dem Namen „Set-Cookie“ in der Response zurück. Diese Cookies werden dann in zukünftigen Anfragen an den HTTP-Server mitgeschickt, in diesem Fall aber mit einem Semikolon separiert in einem einzelnen Header-Field.

In TwinCAT werden die oben beschriebenen Header-Fields mit den Cookies automatisch zu einem Header-Field zusammengefasst und durch einen Zeilenvorschub getrennt. Dies gilt nicht nur für Header-Fields vom Typ „Set-Cookie“, sondern immer dann, wenn eine HTTP-Response des Servers mehrere gleichnamige Header-Fields enthält. Folgendes Beispiel soll zur Veranschaulichung dienen:

HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: token1=Beckhoff
Set-Cookie: token2=IoT

Wird diese Response vom TwinCAT IoT-Treiber empfangen, werden die beiden Header-Fields mit dem Namen „Set-Cookie“ automatisch zu einem zusammengefügt. Folgender String wird dann nach Abfrage des Header-Fields im Programmcode ausgegeben:

'token1=Beckhoff$Ntoken2=IoT';