REST
Staat voor "Representational State Transfer."
REST is een vastgestelde reeks standaarden voor het overdragen van resources via het web. De REST-methode wordt vaak toegepast op API's ("REST-API's"), waarmee ontwikkelaars toegang krijgen tot gegevens van systemen op afstand via internet.
REST definieert zes architectuurbeperkingen:
- client-servermodel – een server verwerkt verzoeken van clients en clients hebben alleen toegang tot de benodigde gegevens op de server
- Stateloos – verzoeken zijn tijdelijk en er worden geen clientgegevens op de server opgeslagen
- Cachebaar – verzoeken kunnen in de cache worden opgeslagen om de prestaties te verbeteren
- Uniforme interface – de toegang tot gegevens moet voor alle gebruikers en systemen consistent zijn
- Ondersteuning voor gelaagde systemen – verzoeken kunnen hiërarchisch worden verwerkt en via meerdere systemen worden doorgestuurd
- Code op aanvraag (optioneel) – servers kunnen uitvoerbare code aan clientsystemen leveren
REST versus SOAP
REST wordt vaak vergeleken met SOAP, een andere reeks standaarden voor het overdragen van gegevens via internet. REST is echter simpelweg een ontwerpstijl, terwijl SOAP een echt protocol is met specifieke regels en opdrachten. Zowel REST- als SOAP-API's verzenden gegevens via HTTP, maar SOAP is beperkt tot XML-gegevens, terwijl REST flexibeler is.
Omdat SOAP een officieel protocol is, moeten alle berichten die via SOAP worden verzonden dezelfde indeling met een "envelop" gebruiken, met een header en body. REST, dat na SOAP kwam, kent minder beperkingen en wordt vaak gezien als een lichtgewicht alternatief voor SOAP.
NOTE: API's die voldoen aan de REST-richtlijnen worden technisch gezien "RESTful API's" genoemd, maar veel ontwikkelaars noemen ze in plaats daarvan "REST-API's".
Test je kennis