REST (Representational State Transfer)

Version vom 5. April 2024, 17:09 Uhr von Glanz (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{:MOOCit - Oben}} {| align=center {{:D-Tab}} '''REST-Prinzipien''' {{o}} Client-Server {{o}} Zustandslos {{o}} Cache {{o}} Einheitlich |} = Einleitung = REST (Representational State Transfer) ist ein Architekturstil, der die Grundlage für das Design und die Entwicklung von modernen Webdiensten und verteilten Systemen bildet. In diesem aiMOOC lern…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)



REST (Representational State Transfer)


Einleitung

REST (Representational State Transfer) ist ein Architekturstil, der die Grundlage für das Design und die Entwicklung von modernen Webdiensten und verteilten Systemen bildet. In diesem aiMOOC lernst Du die Prinzipien von REST, seine Funktionsweise und die Vorteile gegenüber anderen Architekturstilen kennen. Wir werden auch auf die praktische Anwendung von REST in der Entwicklung von Web-APIs eingehen und dabei interaktive Elemente verwenden, um das Verständnis zu vertiefen. Dieser Kurs ist ideal für Schülerinnen und Schüler sowie für alle, die ein fundiertes Verständnis von REST und dessen Anwendung in der Softwareentwicklung erlangen möchten.


REST: Grundlagen und Prinzipien

REST steht für Representational State Transfer. Es ist ein von Roy Fielding in seiner Dissertation im Jahr 2000 beschriebener Architekturstil für verteilte Systeme, insbesondere Webdienste. REST nutzt die vorhandenen Protokolle und Standards des Internets, vor allem HTTP, um Kommunikation zwischen Client und Server zu ermöglichen. Ein RESTful System besteht aus Ressourcen, die über eindeutige URIs (Uniform Resource Identifiers) identifiziert werden. Die Interaktion mit diesen Ressourcen erfolgt über standardisierte HTTP-Methoden wie GET, POST, PUT und DELETE.


Die sechs REST-Prinzipien


Client-Server-Architektur

REST basiert auf einer klaren Trennung zwischen Client und Server. Diese Trennung erleichtert die unabhängige Entwicklung und verbessert die Skalierbarkeit der Anwendungen.


Zustandslose Kommunikation

Jede Anfrage von einem Client an einen Server muss alle Informationen enthalten, die der Server benötigt, um die Anfrage zu verstehen und zu verarbeiten. Dies bedeutet, dass Sitzungen oder der Anwendungszustand nicht auf dem Server gespeichert werden.


Cachebarkeit

Antworten des Servers müssen explizit oder implizit als cachebar oder nicht cachebar gekennzeichnet sein, um unnötige Datenübertragungen zu vermeiden und die Effizienz des Systems zu erhöhen.


Einheitliche Schnittstelle

Die Kommunikation zwischen Client und Server erfolgt über eine einheitliche Schnittstelle. Dies vereinfacht und entkoppelt die Architektur, wodurch die Unabhängigkeit der Komponenten erhöht wird.


Mehrebenen-System (Layered System)

Ein REST-Client kann nicht unterscheiden, ob er direkt mit dem Endserver kommuniziert oder über ein Zwischensystem (z.B. Proxy, Gateway). Dies fördert die Skalierbarkeit durch Lastverteilung und Sicherheit.


Code on Demand (optional)

Server können ausführbaren Code an den Client übertragen, um dort die Funktionalität temporär zu erweitern oder zu modifizieren. Dies ist jedoch ein optionales Prinzip.


Praktische Anwendung von REST

In der praktischen Anwendung ermöglicht REST die Entwicklung von Web-APIs, die leicht von verschiedenen Client-Applikationen (wie Webbrowsern, mobilen Apps oder anderen Servern) genutzt werden können. Diese APIs ermöglichen den Zugriff auf Ressourcen (wie Daten oder Funktionen), die in einer Weise dargestellt werden, die unabhängig von der genutzten Plattform oder Sprache ist.


Entwurf einer RESTful API

Der Entwurf einer RESTful API beinhaltet die Definition der Ressourcen, die über die API zugänglich gemacht werden sollen, sowie der URIs, mit denen diese Ressourcen identifiziert werden. Zudem muss festgelegt werden, welche HTTP-Methoden für welche Aktionen verwendet werden sollen. Dabei ist es wichtig, REST-Prinzipien wie zustandslose Kommunikation und einheitliche Schnittstellen zu befolgen.


Best Practices für RESTful APIs


Verwendung von HTTP-Methoden

Nutze die HTTP-Methoden gemäß ihrer Definition: GET zum Abrufen von Ressourcen, POST zum Erstellen neuer Ressourcen, PUT zum Aktualisieren bestehender Ressourcen und DELETE zum Löschen von Ressourcen.


Zustandslose Anfragen

Stelle sicher, dass jede Anfrage alle Informationen enthält, die notwendig sind, um die Anfrage zu bearbeiten. Vermeide die Speicherung von Zustandsinformationen auf dem Server.


Ressourcenorientierung

Organisiere die API um die Ressourcen herum und nicht um die durchgeführten Aktionen. Nutze URIs, um Ressourcen eindeutig zu identifizieren.


Fehlerbehandlung

Implementiere eine konsistente und informative Fehlerbehandlung. Nutze HTTP-Statuscodes, um den Erfolg oder Misserfolg von Anfragen zu kommunizieren.


Interaktive Aufgaben


Quiz: Teste Dein Wissen

QUIZ: Teste Dein Wissen mit diesen 10 Fragen rund um REST und seine Prinzipien.

Was bedeutet REST in Bezug auf Webdienste? (Representational State Transfer) (!Remote Service Transfer) (!Responsive State Transfer) (!Relational System Transfer)

Welche HTTP-Methode wird typischerweise verwendet, um eine Ressource zu erstellen? (POST) (!GET) (!PUT) (!DELETE)

Was impliziert eine zustandslose Kommunikation in REST-Architekturen? (Dass jede Anfrage alle notwendigen Informationen zur Bearbeitung enthält) (!Dass der Server den Zustand der Client-Sitzung speichert) (!Dass Anfragen in einer bestimmten Reihenfolge gesendet werden müssen) (!Dass Anfragen und Antworten in einem Cache gespeichert werden)

Welches Prinzip besagt, dass ein REST-Client nicht unterscheiden kann, ob er direkt mit dem Endserver kommuniziert? (Mehrebenen-System) (!Cachebarkeit) (!Zustandslose Kommunikation) (!Code on Demand)

Welche HTTP-Methode wird genutzt, um eine bestehende Ressource zu aktualisieren? (PUT) (!POST) (!GET) (!DELETE)

Was ist eine Ressource in einem RESTful System? (Eine eindeutig identifizierbare Entität, auf die über URIs zugegriffen wird) (!Ein spezifischer Service, der nur über POST-Anfragen erreichbar ist) (!Eine Methode innerhalb des Servers) (!Ein statisches Element einer Webseite)

Welches ist ein optionales Prinzip von REST? (Code on Demand) (!Client-Server-Architektur) (!Einheitliche Schnittstelle) (!Zustandslose Kommunikation)

Wie sollten Ressourcen in einer RESTful API organisiert sein? (Um die Ressourcen selbst herum) (!Um die durchgeführten Aktionen herum) (!Um die Datenbankstruktur herum) (!Um die Serverkonfiguration herum)

Welcher HTTP-Statuscode wird üblicherweise gesendet, wenn eine Ressource erfolgreich erstellt wurde? (201 Created) (!404 Not Found) (!500 Internal Server Error) (!302 Found)

Welche Aussage trifft auf die Cachebarkeit in REST zu? (Antworten müssen als cachebar oder nicht cachebar gekennzeichnet sein) (!Alle Antworten müssen immer cachebar sein) (!Caching ist in REST nicht vorgesehen) (!Nur GET-Anfragen können gecacht werden)





Memory

HTTP GET Abrufen von Ressourcen
HTTP POST Erstellen von Ressourcen
Zustandslose Kommunikation Jede Anfrage enthält alle Informationen
Cachebarkeit Antworten sind als cachebar oder nicht cachebar gekennzeichnet
Einheitliche Schnittstelle Vereinfacht die Kommunikation zwischen Client und Server





Kreuzworträtsel

rest Was bedeutet die Abkürzung REST im Kontext von Webdiensten?
post Welche HTTP-Methode wird für das Erstellen von Ressourcen verwendet?
get Welche HTTP-Methode wird für das Abrufen von Ressourcen verwendet?
put Welche HTTP-Methode wird für das Aktualisieren von Ressourcen verwendet?
delete Welche HTTP-Methode wird für das Löschen von Ressourcen verwendet?
stateless Wie wird die Kommunikation in REST bezeichnet, die keine Zustandsinformationen speichert?
cache Was soll laut REST bei Antworten angegeben werden, um die Effizienz zu steigern?
uri Wie werden Ressourcen in einem RESTful System eindeutig identifiziert?




LearningApps

Lückentext

Vervollständige den Text.

REST steht für

und ist ein Architekturstil für

, insbesondere Webdienste. Es basiert auf der Nutzung von

zur Kommunikation zwischen

und

. Eine der Kernideen ist die

Kommunikation, bei der jede Anfrage alle notwendigen Informationen enthält. Ressourcen werden über

identifiziert und mit

wie GET, POST, PUT und DELETE bearbeitet.



Offene Aufgaben




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen


Leicht

  1. Recherche: Suche Beispiele für RESTful APIs im Internet und beschreibe, wie sie die Prinzipien von REST umsetzen.
  2. Entwurf: Entwerfe eine einfache RESTful API für eine ToDo-Liste. Bestimme die Ressourcen, URIs und HTTP-Methoden.

Standard

  1. Implementierung: Implementiere eine einfache RESTful API in einer Programmiersprache deiner Wahl.
  2. Analyse: Analysiere die Antwortzeiten verschiedener RESTful APIs und bewerte ihre Performance.

Schwer

  1. Erweiterung: Erweitere eine bestehende RESTful API um zusätzliche Ressourcen oder Funktionen.
  2. Sicherheit: Entwickle Strategien zur Sicherung einer RESTful API gegen häufige Sicherheitsbedrohungen.


Lernkontrolle


  1. Design: Wie würdest du die REST-Prinzipien nutzen, um eine skalierbare und wartbare Web-API zu entwerfen?
  2. Kritische Bewertung: Diskutiere die Vor- und Nachteile von REST im Vergleich zu SOAP-basierten Webdiensten.
  3. Fallstudie: Betrachte ein reales Beispiel einer RESTful API und analysiere, wie gut sie den REST-Prinzipien folgt.
  4. Innovation: Überlege, wie RESTful Prinzipien in nicht-Web-basierten Anwendungen angewendet werden könnten.
  5. Integration: Entwickle einen Vorschlag, wie bestehende Webdienste in eine RESTful Architektur integriert werden könnten.



OERs zum Thema


Links

Teilen - Diskussion - Bewerten





Schulfach+

Prüfungsliteratur 2026
Bundesland Bücher Kurzbeschreibung
Baden-Württemberg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Mittlere Reife

  1. Der Markisenmann - Jan Weiler oder Als die Welt uns gehörte - Liz Kessler
  2. Ein Schatten wie ein Leopard - Myron Levoy oder Pampa Blues - Rolf Lappert

Abitur Dorfrichter-Komödie über Wahrheit/Schuld; Roman über einen Ort und deutsche Geschichte. Mittlere Reife Wahllektüren (Roadtrip-Vater-Sohn / Jugendroman im NS-Kontext / Coming-of-age / Provinzroman).

Bayern

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Lustspiel über Machtmissbrauch und Recht; Roman als Zeitschnitt deutscher Geschichte an einem Haus/Grundstück.

Berlin/Brandenburg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Der Biberpelz - Gerhart Hauptmann
  4. Heimsuchung - Jenny Erpenbeck

Abitur Gerichtskomödie; soziales Drama um Ausbeutung/Armut; Komödie/Satire um Diebstahl und Obrigkeit; Roman über Erinnerungsräume und Umbrüche.

Bremen

Abitur

  1. Nach Mitternacht - Irmgard Keun
  2. Mario und der Zauberer - Thomas Mann
  3. Emilia Galotti - Gotthold Ephraim Lessing oder Miss Sara Sampson - Gotthold Ephraim Lessing

Abitur Roman in der NS-Zeit (Alltag, Anpassung, Angst); Novelle über Verführung/Massenpsychologie; bürgerliche Trauerspiele (Moral, Macht, Stand).

Hamburg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Das kunstseidene Mädchen - Irmgard Keun

Abitur Justiz-/Machtkritik als Komödie; Großstadtroman der Weimarer Zeit (Rollenbilder, Aufstiegsträume, soziale Realität).

Hessen

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Heimsuchung - Jenny Erpenbeck
  4. Der Prozess - Franz Kafka

Abitur Gerichtskomödie; Fragmentdrama über Gewalt/Entmenschlichung; Erinnerungsroman über deutsche Brüche; moderner Roman über Schuld, Macht und Bürokratie.

Niedersachsen

Abitur

  1. Der zerbrochene Krug - Heinrich von Kleist
  2. Das kunstseidene Mädchen - Irmgard Keun
  3. Die Marquise von O. - Heinrich von Kleist
  4. Über das Marionettentheater - Heinrich von Kleist

Abitur Schwerpunkt auf Drama/Roman sowie Kleist-Prosatext und Essay (Ehre, Gewalt, Unschuld; Ästhetik/„Anmut“).

Nordrhein-Westfalen

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Komödie über Wahrheit und Autorität; Roman als literarische „Geschichtsschichtung“ an einem Ort.

Saarland

Abitur

  1. Heimsuchung - Jenny Erpenbeck
  2. Furor - Lutz Hübner und Sarah Nemitz
  3. Bahnwärter Thiel - Gerhart Hauptmann

Abitur Erinnerungsroman an einem Ort; zeitgenössisches Drama über Eskalation/Populismus; naturalistische Novelle (Pflicht/Überforderung/Abgrund).

Sachsen (berufliches Gymnasium)

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Irrungen, Wirrungen - Theodor Fontane
  4. Der gute Mensch von Sezuan - Bertolt Brecht
  5. Heimsuchung - Jenny Erpenbeck
  6. Der Trafikant - Robert Seethaler

Abitur Mischung aus Klassiker-Drama, sozialem Drama, realistischem Roman, epischem Theater und Gegenwarts-/Erinnerungsroman; zusätzlich Coming-of-age im historischen Kontext.

Sachsen-Anhalt

Abitur

  1. (keine fest benannte landesweite Pflichtlektüre veröffentlicht; Themenfelder)

Abitur Schwerpunktsetzung über Themenfelder (u. a. Literatur um 1900; Sprache in politisch-gesellschaftlichen Kontexten), ohne feste Einzeltitel.

Schleswig-Holstein

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Recht/Gerechtigkeit und historische Tiefenschichten eines Ortes – umgesetzt über Drama und Gegenwartsroman.

Thüringen

Abitur

  1. (keine fest benannte landesweite Pflichtlektüre veröffentlicht; Orientierung am gemeinsamen Aufgabenpool)

Abitur In der Praxis häufig Orientierung am gemeinsamen Aufgabenpool; landesweite Einzeltitel je nach Vorgabe/Handreichung nicht einheitlich ausgewiesen.

Mecklenburg-Vorpommern

Abitur

  1. (Quelle aktuell technisch nicht abrufbar; Beteiligung am gemeinsamen Aufgabenpool bekannt)

Abitur Land beteiligt sich am länderübergreifenden Aufgabenpool; konkrete, veröffentlichte Einzeltitel konnten hier nicht ausgelesen werden.

Rheinland-Pfalz

Abitur

  1. (keine landesweit einheitliche Pflichtlektüre; schulische Auswahl)

Abitur Keine landesweite Einheitsliste; Auswahl kann schul-/kursbezogen erfolgen.




aiMOOCs



aiMOOC Projekte












YouTube Music: THE MONKEY DANCE


Spotify: THE MONKEY DANCE


Apple Music: THE MONKEY DANCE

Amazon Music: THE MONKEY DANCE



The Monkey Dance SpreadShirtShop




The Monkey DanceaiMOOCs

  1. Trust Me It's True: #Verschwörungstheorie #FakeNews
  2. Gregor Samsa Is You: #Kafka #Verwandlung
  3. Who Owns Who: #Musk #Geld
  4. Lump: #Trump #Manipulation
  5. Filth Like You: #Konsum #Heuchelei
  6. Your Poverty Pisses Me Off: #SozialeUngerechtigkeit #Musk
  7. Hello I'm Pump: #Trump #Kapitalismus
  8. Monkey Dance Party: #Lebensfreude
  9. God Hates You Too: #Religionsfanatiker
  10. You You You: #Klimawandel #Klimaleugner
  11. Monkey Free: #Konformität #Macht #Kontrolle
  12. Pure Blood: #Rassismus
  13. Monkey World: #Chaos #Illusion #Manipulation
  14. Uh Uh Uh Poor You: #Kafka #BerichtAkademie #Doppelmoral
  15. The Monkey Dance Song: #Gesellschaftskritik
  16. Will You Be Mine: #Love
  17. Arbeitsheft
  18. And Thanks for Your Meat: #AntiFactoryFarming #AnimalRights #MeatIndustry


© The Monkey Dance on Spotify, YouTube, Amazon, MOOCit, Deezer, ...



Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen

Teilen Facebook Twitter Google Mail an MOOCit Missbrauch melden Zertifikat beantragen


0.00
(0 Stimmen)











Children for a better world >> Förderung der AI Fair-Image Challenge

Fair-Image wird von CHILDREN JUGEND HILFT! gefördert und ist mit der deutschlandweiten AI Fair-Image Challenge SIEGERPROJEKT 2025. Alle Infos zur Challenge hier >>. Infos zum Camp25 gibt es hier. Wenn auch Ihr Euch ehrenamtlich engagiert und noch finanzielle Unterstützung für Eurer Projekt braucht, dann stellt gerne einen Antrag bei JUGEND HILFT.