De bouwstenen van de webpagina's

Ieder van ons bezoekt websites, social media op het wereldwijde web. De inhouden die we gepresenteerd krijgen, zijn een combinatie van HTML (inhoud, structuur, links), CSS (opmaak, animaties) en javascript (interactie). Die drie "talen" vormen de bouwblokken van wat we in onze browsers te zien krijgen. 

Een groot deel van de informatie en de inhouden achter al die websites en webservices wordt echter bewaard in online databanken. Met behulp van "backendtechnologieën" zoals PHP, Node.JS, Java... worden die databankrecords omgetoverd in webpagina's. 



HTML is niet de enige output

Een aantal grotere online platformen bieden ook nog andere outputformaten aan dan enkel HTML. Zo kan je bijvoorbeeld gegevens uit Wikipedia plukken in de vorm van JSON-data. Dat is vooral handig als je je eigen software wil ontwikkelen die gegevens uit andere websites wil gebruiken. In sommige gevallen mag dit gratis, in andere gevallen moet je voor zo'n dienst betalen. Na betaling krijg je een authenticatiesleutel die je in je programmeercode moet opnemen. 

Om de gegevens op te vragen, volstaat het vaak om een URL op de correcte manier op te bouwen. De techniek om informatie op te vragen in gestandaardiseerde en/of gestructureerde formaten, heet REST (Representational state transfer).

Doe de test met REST

Om handig van REST gebruik te kunnen maken moet je weten hoe een URL van een webpagina is opgebouwd. Via de URL kan je in veel gevallen een zoekopdracht uitvoeren in de achterliggende databank.

Als je in Google zoekt naar "ucll" en op de zoekknop drukt, verschijnt in de adresbalk de volgende URL:

https://www.google.be/search?safe=off&sxsrf=ACYBGNRxaumzC8SvVTsipHrNLzXv9-iP_Q%3A1570048077035&source=hp&ei=TAiVXaXVO5KmwQKJq4-YAg&q=ucll&oq=ucll&gs_l=psy-ab.3..35i39j0i131j0l8.3582.4016..4193...0.0..0.82.245.4......0....1..gws-wiz.......0i131i67.jtGR6yVwP50&ved=0ahUKEwilq6LvtP7kAhUSU1AKHYnVAyMQ4dUDCAY&uact=5

Na de domeinnaam www.google.be/ volgt de webpagina of webservice met de naam "search" en een vraagteken. Als je goed kijkt naar alles wat er achter het vraagteken verschijnt, zie je sleutel- en waardeparen, gescheiden door een "&"-teken. 

Voor ons zijn de volgende sleutel-waardeparen interessant: 

SleutelWaarde
oqucll
qucll
......

We kunnen nu zelf links prepareren:

https://www.google.be/search?q=UW ZOEKTERM

Je zal merken dat die link perfect werkt, zonder al die andere parameters uit de vorige link. Cool, we hebben de REST-api van de Google Search Engine gebruikt om zoekresultaten op maat te genereren.

REST met andere outputformaten

Google Books

Basis-URL: https://www.googleapis.com/books/v1/volumes?

Sleutel Waarde
qeen zoekterm (string of tekenreeks)
maxResults
het aantal resultaten dat je wil krijgen (integer = geheel getal)
startIndex
het punt vanaf waar je wil starten (integer = geheel getal)
Voorbeeld: https://www.googleapis.com/books/v1/volumes?q=Kris%20Merckx%20in%20geen%20tijd&maxResults=1&startIndex=0


Voorbeeld van een "bookservice" gebouwd met de Google Books API: https://www.drukhier.be/booksprint/apps/biblio/bib.php?search=Kris+Merckx+in+geen+tijd