Web-1: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(9 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
{{Zijbalk Web1}} | {{Zijbalk Web1}} | ||
== Web1: webservers == | == Web1: het web voor makers (van webservers) == | ||
In deze module behandelen we een aantal principes van het web, in het bijzonder aan de kant van de webserver. | In deze module behandelen we een aantal principes van het web, in het bijzonder aan de kant van de webserver. Het uitgangspunt van deze module is: ''het web, dat maak je zelf''. Hoe werkt het web-protocol (HTTP), hoe werkt de samenwerking tussen de server en de client (browser)? Hoe kun je dat gebruiken voor het maken van een eigen website, en voor het inrichten van een eigen webserver? | ||
: Voor het maken van een website heb je nog andere kennis en vaardigheden nodig, bijvoorbeeld: HTML/CSS/JavaScript; en enige kennis van databases. We gaan ervan uit dat je daarvan enige (voor)kennis hebt. | |||
Het uitgangspunt van deze module is: ''het web, dat maak je zelf''. Hoe werkt het web-protocol (HTTP), hoe werkt de samenwerking tussen de server en de client (browser)? Hoe kun je dat gebruiken voor het maken van een eigen website, en voor het inrichten van een eigen webserver? | |||
: Voor het maken van een website heb je nog andere kennis en vaardigheden nodig, bijvoorbeeld: HTML/CSS/JavaScript; en databases. | |||
Voor het experimenteren met een eenvoudige webserver gebruiken we NodeRed. | Voor het experimenteren met een eenvoudige webserver gebruiken we NodeRed. | ||
Een overzicht van de onderwerpen die aan de orde komen: | Een overzicht van de onderwerpen die aan de orde komen: | ||
* [[ | * [[Web-1/Client-server]] Achtergrondinformatie/theorie | ||
** het HTTP-protocol; client-server interactie; http-request, response; | ** het HTTP-protocol; client-server interactie; http-request, response; | ||
** URL; opbouw van URL: protocol; domeinnaam; padnaam; parameters; (inhoud/body) | ** URL; opbouw van URL: protocol; domeinnaam; padnaam; parameters; (inhoud/body) | ||
** alternatieven voor HTTP: bidirectionele verbindingen (websockets); publish/subscribe (MQTT); | ** alternatieven voor HTTP: bidirectionele verbindingen (websockets); publish/subscribe (MQTT); | ||
** wat merk je hiervan in de browser? | ** wat merk je hiervan in de browser? | ||
* [[ | * [[Web-1/NodeRed]] | ||
** installeren en configuren | ** installeren en configuren | ||
** hoe werkt een flow? | ** hoe werkt een flow? | ||
** eerste flow (inject/debug) | ** eerste flow (inject/debug) | ||
** exporteren en importeren van flows | ** exporteren en importeren van flows | ||
* [[/Statische website]] | * [[Web-1/Statische website]] | ||
** http-flow | ** http-flow | ||
** NodeRed: configureren van statische pagina's | ** NodeRed: configureren van statische pagina's | ||
** gebruik van CSS en Javascript | ** gebruik van CSS en Javascript | ||
* [[/Templates]] | * [[Web-1/Templates]] | ||
** website met meerdere pagina's | ** website met meerdere pagina's | ||
** template-concept | ** template-concept | ||
Regel 40: | Regel 38: | ||
** levensduur van een cookie; "persistent" client-state | ** levensduur van een cookie; "persistent" client-state | ||
** [[/Headers]] | ** [[/Headers]] | ||
* [[/AJAX]] | * [[/AJAX]] | ||
** client-side rendering | ** client-side rendering | ||
Regel 49: | Regel 44: | ||
** websockets voor "push" vanuit de server | ** websockets voor "push" vanuit de server | ||
** en voor client-server interactie met lage overhead, lage latency | ** en voor client-server interactie met lage overhead, lage latency | ||
* [[/Server database]] | |||
* [[/Web services]] | |||
** vb: weerdienst | |||
* [[/Authenticatie en autorisatie]] | * [[/Authenticatie en autorisatie]] | ||
* [[/REST]] | * [[/REST]] | ||
Regel 60: | Regel 58: | ||
* Web0; html, css, javascript | * Web0; html, css, javascript | ||
* Databases ("wat is een database? waarvoor gebruik je die?") | * Databases ("wat is een database? waarvoor gebruik je die?") | ||
* | * Werken met Linux/Cloud9 (incl. eenvoudig gebruik van Linux shell) | ||
** wat is een absolute padnaam? | ** wat is een absolute padnaam? | ||
** hoe achterhaal je het absolute pad van een bestand? | ** hoe achterhaal je het absolute pad van een bestand? | ||
Regel 66: | Regel 64: | ||
** hoe verander je de naam van een bestand? | ** hoe verander je de naam van een bestand? | ||
* JSON - wordt o.a. gebruikt in de Mustache template-voorbeelden. | * JSON - wordt o.a. gebruikt in de Mustache template-voorbeelden. | ||
== Toetsvragen == | == Toetsvragen == | ||
I.h.b.: ''diagnostische vragen''. T.B.D. | I.h.b.: ''diagnostische vragen''. T.B.D. | ||
[[/Toetsvragen]] | |||
== Webserver in NodeJS == | == Webserver in NodeJS == | ||
* [[/Nodejs server]] | * [[/Nodejs server]] |
Huidige versie van 18 jan 2018 om 19:45
Web1: het web voor makers (van webservers)
In deze module behandelen we een aantal principes van het web, in het bijzonder aan de kant van de webserver. Het uitgangspunt van deze module is: het web, dat maak je zelf. Hoe werkt het web-protocol (HTTP), hoe werkt de samenwerking tussen de server en de client (browser)? Hoe kun je dat gebruiken voor het maken van een eigen website, en voor het inrichten van een eigen webserver?
- Voor het maken van een website heb je nog andere kennis en vaardigheden nodig, bijvoorbeeld: HTML/CSS/JavaScript; en enige kennis van databases. We gaan ervan uit dat je daarvan enige (voor)kennis hebt.
Voor het experimenteren met een eenvoudige webserver gebruiken we NodeRed.
Een overzicht van de onderwerpen die aan de orde komen:
- Web-1/Client-server Achtergrondinformatie/theorie
- het HTTP-protocol; client-server interactie; http-request, response;
- URL; opbouw van URL: protocol; domeinnaam; padnaam; parameters; (inhoud/body)
- alternatieven voor HTTP: bidirectionele verbindingen (websockets); publish/subscribe (MQTT);
- wat merk je hiervan in de browser?
- Web-1/NodeRed
- installeren en configuren
- hoe werkt een flow?
- eerste flow (inject/debug)
- exporteren en importeren van flows
- Web-1/Statische website
- http-flow
- NodeRed: configureren van statische pagina's
- gebruik van CSS en Javascript
- Web-1/Templates
- website met meerdere pagina's
- template-concept
- templates voor een uniforme layout
- /HTML formulieren
- HTML formulier
- HTTP-POST request; formulier-data
- HTTP-POST flow
- templates en data
- /Server state
- NodeRed: globale variabelen (context)
- uitbreiden van form-flow met extra pagina, met naam van de gebruiker
- (voorbeeld van gebruikers-voorkeuren)
- /Gebruikers en sessies - en cookies
- levensduur van een cookie; "persistent" client-state
- /Headers
- /AJAX
- client-side rendering
- asynchrone acties in JavaScript
- /Websockets
- websockets voor "push" vanuit de server
- en voor client-server interactie met lage overhead, lage latency
- /Server database
- /Web services
- vb: weerdienst
- /Authenticatie en autorisatie
- /REST
Concepten
Voorkennis
- Web0; html, css, javascript
- Databases ("wat is een database? waarvoor gebruik je die?")
- Werken met Linux/Cloud9 (incl. eenvoudig gebruik van Linux shell)
- wat is een absolute padnaam?
- hoe achterhaal je het absolute pad van een bestand?
- hoe maak je een bestand aan (met de Cloud9 editor)?
- hoe verander je de naam van een bestand?
- JSON - wordt o.a. gebruikt in de Mustache template-voorbeelden.
Toetsvragen
I.h.b.: diagnostische vragen. T.B.D.