<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://infvo.nl/lab/index.php?action=history&amp;feed=atom&amp;title=Internet_of_Things%2FProtocollen%2FHTTP</id>
	<title>Internet of Things/Protocollen/HTTP - Bewerkingsoverzicht</title>
	<link rel="self" type="application/atom+xml" href="https://infvo.nl/lab/index.php?action=history&amp;feed=atom&amp;title=Internet_of_Things%2FProtocollen%2FHTTP"/>
	<link rel="alternate" type="text/html" href="https://infvo.nl/lab/index.php?title=Internet_of_Things/Protocollen/HTTP&amp;action=history"/>
	<updated>2026-04-26T09:46:45Z</updated>
	<subtitle>Bewerkingsoverzicht voor deze pagina op de wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://infvo.nl/lab/index.php?title=Internet_of_Things/Protocollen/HTTP&amp;diff=1029&amp;oldid=prev</id>
		<title>Eelco op 24 nov 2016 om 09:16</title>
		<link rel="alternate" type="text/html" href="https://infvo.nl/lab/index.php?title=Internet_of_Things/Protocollen/HTTP&amp;diff=1029&amp;oldid=prev"/>
		<updated>2016-11-24T09:16:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;nl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Oudere versie&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versie van 24 nov 2016 09:16&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot;&gt;Regel 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Regel 61:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Voor een HTTP-server maakt het niet uit wat de client is, als deze zich maar aan het HTTP-protocol houdt. In veel toepassingen fungeren niet alleen browsers, maar ook webservers als client van een andere webserver. Een webserver als client vraagt meestal om JSON-documenten: deze zijn door computers wat gemakkelijker te verwerken dan HTTP-documenten die op een representatie voor mensen gericht zijn. Een verdere beschrijving van dit gebruik geven we bij de behandeling van REST.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Voor een HTTP-server maakt het niet uit wat de client is, als deze zich maar aan het HTTP-protocol houdt. In veel toepassingen fungeren niet alleen browsers, maar ook webservers als client van een andere webserver. Een webserver als client vraagt meestal om JSON-documenten: deze zijn door computers wat gemakkelijker te verwerken dan HTTP-documenten die op een representatie voor mensen gericht zijn. Een verdere beschrijving van dit gebruik geven we bij de behandeling van REST.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Samenvatting ===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| class=&quot;wikitable&quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| 1-op-1 interactie&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &quot;pull&quot; vanuit de client (browser)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| berichten-interactie (geen verbinding)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Gebruik van HTTP in IoT-keten ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Gebruik van HTTP in IoT-keten ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Eelco</name></author>
	</entry>
	<entry>
		<id>https://infvo.nl/lab/index.php?title=Internet_of_Things/Protocollen/HTTP&amp;diff=1022&amp;oldid=prev</id>
		<title>Eelco: Nieuwe pagina aangemaakt met &#039;HTTP is het basisprotocol voor het web. Dit wordt gebruikt voor de communicatie tussen een browser en een webserver, en voor de communicatie tussen een webserver en...&#039;</title>
		<link rel="alternate" type="text/html" href="https://infvo.nl/lab/index.php?title=Internet_of_Things/Protocollen/HTTP&amp;diff=1022&amp;oldid=prev"/>
		<updated>2016-11-23T19:09:17Z</updated>

		<summary type="html">&lt;p&gt;Nieuwe pagina aangemaakt met &amp;#039;HTTP is het basisprotocol voor het web. Dit wordt gebruikt voor de communicatie tussen een browser en een webserver, en voor de communicatie tussen een webserver en...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nieuwe pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;HTTP is het basisprotocol voor het web. Dit wordt gebruikt voor de communicatie tussen een browser en een webserver, en voor de communicatie tussen een webserver en andere webservers (webservices).&lt;br /&gt;
&lt;br /&gt;
We geven hier een vereenvoudigde beschrijving van HTTP, voor het gebruik in IoT-toepassingen, in het bijzonder voor de communicatie tussen browser en webserver. De communicatie met REST-webservices beschrijven we elders.&lt;br /&gt;
&lt;br /&gt;
=== Client-server interactie ===&lt;br /&gt;
&lt;br /&gt;
[[Bestand:IoT-protocols-http.png|600px|HTTP-protocol]]&lt;br /&gt;
&lt;br /&gt;
HTTP is een client-server protocol. De client is (meestal) een browser, de server is een webserver.&lt;br /&gt;
&lt;br /&gt;
: Merk op dat sommige apparaten tegenwoordig webservers ingebouwd hebben, bijvoorbeeld netwerk-printers en routers. Een webserver kan erg klein zijn (ca. 1 cm^3), maar ook erg groot (zoals in een Google server &amp;quot;farm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
De interactie tussen client en server bestaat uit twee stappen:&lt;br /&gt;
# de client stuurt een verzoek (request) naar de server;&lt;br /&gt;
# de server stuurt het antwoord (response) terug naar de client.&lt;br /&gt;
&lt;br /&gt;
De response bevat meestal een document: een bestand dat gebruikt wordt in de webpagina of in de webtoepassing. Gewoonlijk is dit een HTML-document, maar voor AJAX-interacties (zie verderop) wordt vaak een JSON-representatie gebruikt. Andere formaten voor response-documenten zijn bijvoorbeeld JPG/PNG  (voor plaatjes), JavaScript (voor scripts), en CSS (voor de vormgeving). &lt;br /&gt;
&lt;br /&gt;
=== Berichten-interactie ===&lt;br /&gt;
&lt;br /&gt;
Elke interactie tussen browser en server staat op zichzelf.&lt;br /&gt;
* Er is geen sprake van een blijvende verbinding (connection) tussen de browser en de server.&lt;br /&gt;
** Er is een tijdelijke verbinding voor de duur van het request en de response.&lt;br /&gt;
* Er is voor de browser of voor de server geen verband tussen het ene verzoek en het andere.&lt;br /&gt;
* Voor een toepassing als bijvoorbeeld een webwinkel heb je een &amp;quot;sessie&amp;quot; nodig, waarbij verschillende opeenvolgende verzoeken vanuit de browser tot eenzelfde sessie behoren. Dit moet op het niveau van de toepassing opgelost worden, met de bouwstenen die het HTTP-protocol daarvoor biedt (zoals &amp;#039;&amp;#039;cookies&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Voor webtoepassingen gaat het meestal om relatief grote documenten die overgestuurd worden als response. In dat geval is het niet zo&amp;#039;n probleem om voor elke interactie een tijdelijke verbinding op te zetten.&lt;br /&gt;
&lt;br /&gt;
In het geval van het internet of things hebben we met veel kleine berichten te maken: in dat geval is het handiger om eenmalig een verbinding op te bouwen, en deze te gebruiken voor de stroom IoT-berichten. Die aanpak wordt gebruikt voor de websockets en MQTT-protocollen.&lt;br /&gt;
&lt;br /&gt;
=== Pull-interactie ===&lt;br /&gt;
&lt;br /&gt;
Het initiatief bij deze interactie ligt bij de browser: het is een &amp;quot;pull&amp;quot; interactie. De browser &amp;quot;trekt&amp;quot; de gegevens van de server.&lt;br /&gt;
&lt;br /&gt;
=== Methode en pad ===&lt;br /&gt;
&lt;br /&gt;
Het verzoek naar de server bestaat uit twee elementen:&lt;br /&gt;
# de methode (method), bijvoorbeeld GET, PUT, POST, DELETE&lt;br /&gt;
# het pad-deel van de URL (met eventuelele parameters), bijvoorbeeld &amp;lt;code&amp;gt;lab/index.php?title=Internet_of_Things/Protocollen/HTTP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Het pad-deel identificeert de &amp;quot;resource&amp;quot; van de server. De methode beschrijft wat er met die resource moet gebeuren.&lt;br /&gt;
* Een &amp;quot;resource&amp;quot; is een breed begrip, dat je zou kunnen omschrijven als &amp;quot;ding&amp;quot; of &amp;quot;object&amp;quot;. Het kan zowel concreet zijn (een lamp) als abstract (vrijheid).&lt;br /&gt;
* GET - geef het document dat bij deze resource hoort (op de server)&lt;br /&gt;
* POST - update de resource, bijvoorbeeld aan de hand van de gegevens in een formulier.&lt;br /&gt;
&lt;br /&gt;
Het eerste deel van de URL wordt door de browser gebruikt om het protocol en de server te bepalen: &lt;br /&gt;
* het eerste deel (&amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; of &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt;) beschrijft het protocol;&lt;br /&gt;
* de domeinnaam (bijv. &amp;lt;code&amp;gt;infvo.com&amp;lt;/code&amp;gt;) geeft het IP-adres van de server (via DNS).&lt;br /&gt;
&lt;br /&gt;
=== AJAX ===&lt;br /&gt;
&lt;br /&gt;
AJAX staat voor Asynchronous JAvaScript XML interactie. Dit is een speciale manier om &amp;#039;&amp;#039;in de browser&amp;#039;&amp;#039; het verkeer met de server af te handelen. In het protocol zelf en aan de kant van de server merk je geen verschil.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Asynchroon&amp;#039;&amp;#039; betekent in dit geval dat de browser na een http-request niet blijft wachten op de response van de server, maar beschikbaar blijft voor andere interacties, bijvoorbeeld met de gebruiker. Als de response binnen is, wordt er een JavaScript-functie aangeroepen (als event-handler) die zorgt voor de verwerking van deze response.&lt;br /&gt;
&lt;br /&gt;
Deze asynchrone aanpak hebben we ook nodig voor de sensordata die op willekeurige momenten kunnen binnenkomen van de server, via het websockets protocol.&lt;br /&gt;
&lt;br /&gt;
In plaats van XML wordt tegenwoordig meestal JSON gebruikt als formaat voor het response-document. Dit is eenvoudiger te verwerken in JavaScript.&lt;br /&gt;
&lt;br /&gt;
=== Webserver als client ===&lt;br /&gt;
&lt;br /&gt;
Voor een HTTP-server maakt het niet uit wat de client is, als deze zich maar aan het HTTP-protocol houdt. In veel toepassingen fungeren niet alleen browsers, maar ook webservers als client van een andere webserver. Een webserver als client vraagt meestal om JSON-documenten: deze zijn door computers wat gemakkelijker te verwerken dan HTTP-documenten die op een representatie voor mensen gericht zijn. Een verdere beschrijving van dit gebruik geven we bij de behandeling van REST.&lt;br /&gt;
&lt;br /&gt;
=== Samenvatting ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1-op-1 interactie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;pull&amp;quot; vanuit de client (browser)&lt;br /&gt;
|-&lt;br /&gt;
| berichten-interactie (geen verbinding)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Gebruik van HTTP in IoT-keten ==&lt;br /&gt;
&lt;br /&gt;
HTTP is het basisprotocol voor webtoepassingen, tussen browser en webserver, ook in het geval van het Internet of Things. Daarnaast is HTTP het protocol voor &amp;#039;&amp;#039;webservices&amp;#039;&amp;#039;. In dit geval kan de client zowel een browser zijn als een andere webserver.&lt;br /&gt;
&lt;br /&gt;
=== HTTP in NodeRed ===&lt;br /&gt;
&lt;br /&gt;
NodeRed heeft verschillende soorten knopen voor het HTTP-protocol:&lt;br /&gt;
&lt;br /&gt;
* HTTP-input: de input-node ontvangt het bijpassende HTTP-request. Deze node is gelabeld met de URL en met de methode (GET/POST/PUT enz.). &lt;br /&gt;
* HTTP-output: Een flow met een HTTP input-node wordt afgesloten met een HTTP-output-node: deze verzorgt de bijbehorende response. De tussenliggende nodes bepalen de inhoud van de response.&lt;br /&gt;
** Je kunt de HTTP-input- en output-nodes alleen gebruiken in een flow van HTTP-input naar HTTP-ouput. Dit komt overeen met het request/response-karakter van het HTTP-protocol.&lt;br /&gt;
* HTTP-request: met deze node kun je een request naar een webserver (webservice) sturen. Het resultaat van de node is de bijbehorende response van de server.&lt;br /&gt;
&lt;br /&gt;
=== HTTP en websockets ===&lt;br /&gt;
&lt;br /&gt;
Een nadeel van HTTP is dat het geen &amp;quot;push&amp;quot; verkeer mogelijk maakt van de server naar de client (browser). Dit betekent dat we naast HTTP een ander protocol nodig hebben: het [[../websockets|&amp;#039;&amp;#039;websockets&amp;#039;&amp;#039;]] protocol is daarvoor bedoeld. Voor onze IoT-toepassingen gebruiken we daarom een combinatie van HTTP en websockets.&lt;/div&gt;</summary>
		<author><name>Eelco</name></author>
	</entry>
</feed>