Es ist immer schön, wenn Konzepte einfach und leicht verständlich sein. Manchmal müssen Sie das auch erst wieder werden.  Gerade beim Internet ist beides der Fall. Einerseits funktioniert alles nach dem Frage bzw. Befehl - Antwort - Prinzip. Ich frage oder sage dem Server etwas und er antwortet mir was er nun mit den gesendeten Daten gemacht hat. Um das ganze zu veranschaulichen eignet sich der Firebug hervorragend. Doch gibt es auch komplexere (zum Teil proprietäre) Lösungen, die auch Ihre Berechtigung haben (Email, Torrent, …).

Doch nun wieder zum einfachen: für REST (auch RESTful) benötigen wir HTTP, URI und vier (bzw. sechs) simple Befehle:

  • GET - hole Ressource
  • POST - schicke Daten an bestehende Ressource
  • PUT - lege neue Ressource an
  • DELETE - lösche Ressource
  • (HEAD - hole Metadaten zu einer Ressource)
  • (OPTIONS - hole verfügbare Methoden)

Mit den wichtigsten Befehlen - GET, POST, PUT und DELETE, die wir schon vom HTTP kennen,  kann man einen kompletten Webservice betreiben. Das besondere dabei ist, dass die jeweiligen Ressourcen nur über URIs gesteuert werden. Der Server kennt keine Zustände sondern reagiert nur auf die jeweiligen Befehle. Was der Server bei Aufruf einer Ressource tatsächlich ausgibt bzw. was verarbeitet wird ist nebensächlich. Antworten müssen nur entsprechend ausgewertet werden… Einfach, oder?

P.S. Die meisten Webservices (Flickr, Google Search, My Video, Yahoo Maps, …) stellen auch eine REST API zur Verfügung.