Wat is HTTP?

HTTP (HyperText Transfer Protocol) is een toepassingsprotocol waarmee een client, zoals een webbrowser of een applicatie, verzoeken naar een server stuurt en antwoorden terugkrijgt in de vorm van HTML, JSON, XML of andere gegevens. Het is het fundament van het web, maar ook in industriële omgevingen is HTTP overal aanwezig: in de webinterface van een PLC, in de REST API van een Historian en in de koppeling tussen een edge device en een cloudplatform. Omdat gewoon HTTP geen versleuteling kent, is de beveiligde variant HTTPS de norm voor alles wat buiten een afgeschermde zone komt.

In OT-netwerken wordt HTTP vaak gebruikt voor toegang tot webinterfaces van apparaten zoals PLC’s, switches, frequentieregelaars en HMI’s voor configuratie, diagnose en logging.


🧠 Hoe werkt HTTP?

HTTP werkt volgens een eenvoudig verzoek-antwoordmodel:

  1. Een client (browser, script of applicatie) opent een verbinding met een webserver, standaard op poort 80.
  2. De client stuurt een verzoek met een methode, een pad (bijvoorbeeld /api/tags), headers en eventueel een body.
  3. De server stuurt een antwoord terug met een statuscode, headers en de gevraagde inhoud.
  4. HTTP/1.1 en HTTP/2 gebruiken TCP als transportprotocol over IP; HTTP/3 gebruikt QUIC, dat over UDP loopt.

HTTP is volgens de specificatie een stateless protocol: elk verzoek is op zichzelf te begrijpen, los van eerdere verzoeken. Inlogsessies worden daarom bijgehouden met cookies of tokens, wat ze kwetsbaar maakt voor sessiekaping als het verkeer niet versleuteld is. In het OSI-model hoort HTTP bij laag 7, de applicatielaag.

Welke methoden en statuscodes kent HTTP?

RFC 9110 (juni 2022) definieert acht standaardmethoden. In REST API’s van industriële systemen komen GET, POST, PUT en DELETE het meest voor, aangevuld met PATCH uit RFC 5789 voor gedeeltelijke wijzigingen:

Methode Doel Voorbeeld in OT
GET Gegevens opvragen Actuele tagwaarden of diagnosepagina van een PLC uitlezen
POST Gegevens versturen of actie starten Meetwaarden naar een MES sturen, firmware uploaden
PUT Een resource vervangen Een configuratie of setpoint overschrijven
DELETE Een resource verwijderen Een gebruiker of oude batchrecord verwijderen
PATCH (RFC 5789) Een resource gedeeltelijk wijzigen Eén parameter in een apparaatconfiguratie aanpassen
HEAD Alleen headers opvragen Controleren of een bestand of resource bestaat zonder de inhoud te downloaden
OPTIONS, CONNECT, TRACE Mogelijkheden opvragen, tunnel opzetten via een proxy, diagnose TRACE hoort op productie-apparaten uit te staan

Statuscodes zijn ingedeeld in vijf klassen: 1xx (informatief), 2xx (geslaagd, zoals 200 OK), 3xx (doorverwijzing, bijvoorbeeld van HTTP naar HTTPS), 4xx (fout van de client, zoals 401 Unauthorized of 404 Not Found) en 5xx (fout van de server, zoals 503 Service Unavailable).


🔄 Welke HTTP-versies zijn er?

HTTP is in 1989–1991 door Tim Berners-Lee bij CERN ontwikkeld en sindsdien door de IETF doorontwikkeld. In 2022 is de hele familie opnieuw vastgelegd: RFC 9110 beschrijft de semantiek die voor alle versies geldt, RFC 9112, 9113 en 9114 beschrijven de versies afzonderlijk.

Versie Jaar Transport Kenmerken
HTTP/0.9 1991 TCP Alleen GET, geen headers
HTTP/1.0 1996 (RFC 1945) TCP Headers, statuscodes, meerdere inhoudstypen
HTTP/1.1 1997/1999, nu RFC 9112 TCP Persistente verbindingen, Host-header; nog steeds de standaard op de meeste OT-apparaten
HTTP/2 2015 (RFC 7540), nu RFC 9113 TCP Binair, multiplexing van meerdere verzoeken over één verbinding, headercompressie
HTTP/3 2022 (RFC 9114) QUIC over UDP Snellere verbindingsopbouw, versleuteling met TLS 1.3 altijd ingebouwd

Embedded webservers in veldapparaten ondersteunen in de praktijk meestal alleen HTTP/1.1. HTTP/2 en HTTP/3 kom je vooral tegen in cloudplatforms en moderne IT-applicaties.


🏭 Waar wordt HTTP gebruikt in industriële netwerken?

  • Webconfiguratie van netwerkcomponenten - routers, firewalls en switches hebben bijna altijd een webinterface.
  • Diagnose en onderhoud van besturingen - webinterfaces op PLC’s en IO-modules tonen status, diagnosebuffers en maken firmware-updates mogelijk.
  • REST API-integraties - koppelingen tussen SCADA, MES, historians en andere databronnen verlopen steeds vaker via JSON over HTTP.
  • Embedded webservers - apparaten tonen realtime status en eenvoudige visualisaties zonder aparte software.
  • Edge en IIoT - tools als Node-RED en Grafana werken met HTTP-endpoints; procesdata wordt vaak via HTTP-clientverbindingen naar externe systemen gestuurd.
  • OPC UA over HTTPS - OPC UA definieert naast zijn binaire TCP-protocol ook een HTTPS-mapping (opc.https) met binaire, JSON- of XML-codering, handig waar firewalls alleen webverkeer toelaten.

HTTP concurreert daarbij met MQTT. HTTP past bij vraag-antwoordverkeer en incidentele opvragingen; MQTT is efficiënter voor continue publicatie van veel kleine meetwaarden.


🔐 Waarom is onversleuteld HTTP riskant in OT?

Bij gewoon HTTP gaat alles als leesbare tekst over het netwerk. Wie toegang heeft tot het netwerksegment, bijvoorbeeld via een gecompromitteerde laptop of een spiegelpoort op een switch, kan het verkeer met een tool als Wireshark meelezen.

  • Wachtwoorden in klare tekst - bij HTTP Basic-authenticatie (RFC 7617) worden gebruikersnaam en wachtwoord alleen met Base64 gecodeerd. Dat is codering, geen versleuteling: het is direct terug te zetten.
  • Man-In-The-Middle - een aanvaller kan verzoeken en antwoorden onderweg aanpassen, bijvoorbeeld een setpoint of een firmwarebestand.
  • Sessiekaping - onversleutelde sessiecookies kunnen worden overgenomen.
  • Kwetsbare embedded webservers - veel CVE’s in industriële apparaten zitten in de webinterface: authenticatie-omzeiling, buffer overflows of cross-site scripting.
  • Standaardwachtwoorden - webinterfaces die met fabrieksinstellingen bereikbaar zijn, zijn een bekende ingang voor aanvallers.

Hoe verschillen HTTP en HTTPS?

Aspect HTTP HTTPS (HTTP Secure)
Standaardpoort 80 (vaak ook 8080) 443
Versleuteling Nee, verkeer is leesbaar Ja, via TLS
Authenticatie server Geen Via certificaat
Integriteit Geen bescherming tegen wijziging Wijzigingen worden gedetecteerd
Browsers Markeren de pagina als “Niet beveiligd” Normale weergave
Gebruik in OT Nog vaak aanwezig op oudere apparaten Sterk aanbevolen voor nieuwe systemen

🔧 Hoe beperkt u HTTP-risico’s in de praktijk?

Een praktische aanpak voor een bestaande installatie:

  1. Inventariseer - scan welke apparaten poort 80, 8080 en 443 openhebben en leg dit vast in de asset-inventaris.
  2. Schakel HTTP uit waar mogelijk - veel moderne PLC’s, zoals de Siemens S7-1500, laten zich instellen op toegang uitsluitend via HTTPS. Zet de webserver helemaal uit als niemand hem gebruikt.
  3. Vervang zelfondertekende certificaten - gebruik certificaten van een eigen PKI en regel vernieuwing via certificaatbeheer.
  4. Segmenteer - beperk webtoegang tot een beheerzone met netwerksegmentatie, firewalls en ACL’s; laat toegang van buiten via een jump server of onderhoud op afstand met MFA lopen.
  5. Zet een reverse proxy in - voor apparaten die alleen HTTP kennen kan een proxy in de DMZ of beheerzone de verbinding naar de gebruiker met HTTPS afschermen.
  6. Pas rollen toe - gebruik RBAC op webinterfaces en wijzig standaardwachtwoorden.
  7. Monitor - stuur toegangslogs via Syslog naar een SIEM en laat een IDS onversleutelde inlogpogingen signaleren.

Normatief sluit dit aan op IEC 62443-4-2, dat eisen stelt aan de integriteit (CR 3.1) en vertrouwelijkheid (CR 4.1) van communicatie, en op de Cyber Resilience Act, die vanaf 11 december 2027 volledig van toepassing is en versleuteling van data in transit volgens de stand van de techniek verwacht. Bij hardening hoort het uitschakelen van ongebruikte webdiensten tot de eerste stappen.


❓ Veelgestelde vragen

Welke poort gebruikt HTTP?

HTTP gebruikt standaard TCP-poort 80, HTTPS standaard poort 443. Veel industriële apparaten en applicaties gebruiken daarnaast alternatieve poorten zoals 8080 of 8443, en de poort is meestal instelbaar. Een netwerkscan moet daarom verder kijken dan alleen poort 80.

Is HTTP veilig genoeg binnen een afgeschermd OT-netwerk?

HTTP binnen een afgeschermd OT-netwerk is minder riskant dan via internet, maar wachtwoorden en commando’s blijven leesbaar voor iedereen die het segment kan afluisteren. Een besmette onderhoudslaptop of een insider is genoeg. HTTP is daarom hooguit acceptabel in een kleine, goed gesegmenteerde zone en alleen als HTTPS technisch niet mogelijk is.

Wat is het verschil tussen HTTP en een REST API?

HTTP is het transportprotocol voor verzoeken en antwoorden. Een REST API is een ontwerpstijl voor interfaces die HTTP-methoden zoals GET, POST, PUT en DELETE gebruikt om resources te lezen en te wijzigen. Vrijwel alle REST API’s in MES-, historian- en cloudplatforms draaien over HTTP of HTTPS.

Waarom is HTTP Basic-authenticatie onveilig?

HTTP Basic-authenticatie stuurt gebruikersnaam en wachtwoord bij elk verzoek mee, alleen gecodeerd met Base64. Base64 is geen versleuteling en kan door iedereen direct worden teruggezet naar het oorspronkelijke wachtwoord. Basic-authenticatie is daarom alleen verantwoord in combinatie met HTTPS.

Kan ik HTTP op een PLC zomaar uitschakelen?

HTTP op een PLC kunt u uitschakelen als niemand de webinterface nodig heeft of als het apparaat HTTPS ondersteunt. Controleer eerst of SCADA, een HMI of een script de webserver gebruikt, bijvoorbeeld voor eigen webpagina’s of data-uitwisseling. Test de wijziging in een onderhoudsvenster en leg haar vast in het wijzigingsbeheer.

Gebruikt HTTP altijd TCP?

HTTP/1.1 en HTTP/2 gebruiken TCP, maar HTTP/3 draait over QUIC, een protocol bovenop UDP met ingebouwde TLS 1.3-versleuteling. In OT-omgevingen speelt HTTP/3 nog nauwelijks een rol, omdat embedded webservers in apparaten meestal HTTP/1.1 gebruiken.


📌 Samengevat

HTTP is het verzoek-antwoordprotocol achter webinterfaces en REST API’s, en daarmee alomtegenwoordig in OT-omgevingen, maar zonder versleuteling zijn wachtwoorden en commando’s voor iedereen op het netwerk leesbaar. Gebruik waar mogelijk HTTPS, schakel ongebruikte webservers uit en beperk resterend HTTP-verkeer tot een goed afgeschermde zone.