Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
ef_informatik:webapps:apis [2024-09-18 14:57] – angelegt hofef_informatik:webapps:apis [2024-09-18 15:06] (aktuell) hof
Zeile 5: Zeile 5:
 Insbesondere ist es auch nicht möglich, übers Netz gegeneinander zu spielen. Dafür müsste die Spiel-Logik nicht in Browser (also im Client) ausgeführt werden, sondern in einem Programm, das auf dem Server läuft. Die beiden Spieler:innen verbinden sich mit dem Server und rufen bestimmte Internetseiten auf, um den Zustand des Spiels zu verändern. Insbesondere ist es auch nicht möglich, übers Netz gegeneinander zu spielen. Dafür müsste die Spiel-Logik nicht in Browser (also im Client) ausgeführt werden, sondern in einem Programm, das auf dem Server läuft. Die beiden Spieler:innen verbinden sich mit dem Server und rufen bestimmte Internetseiten auf, um den Zustand des Spiels zu verändern.
  
-{{ :course:efif:apps:tictactoe_server-side_game.svg?nolink&640 |}}+{{ :ef_informatik:webapps:tictactoe_server-side_game_1_.svg?nolink&640 |}}
  
 Wir trennen also die Darstellung (HTML & CSS) von der Spiellogik ab. Die Logik soll auf dem Server ausgeführt werden, die Browser rufen lediglich geeignete Schnittstellen (en. //Application Programming Interface// oder API) auf. Bei einer Web-App erfolgt der Aufruf der Schnittstelle über eine HTTP-Anfrage.  Wir trennen also die Darstellung (HTML & CSS) von der Spiellogik ab. Die Logik soll auf dem Server ausgeführt werden, die Browser rufen lediglich geeignete Schnittstellen (en. //Application Programming Interface// oder API) auf. Bei einer Web-App erfolgt der Aufruf der Schnittstelle über eine HTTP-Anfrage. 
Zeile 13: Zeile 13:
  
 === Request & Response === === Request & Response ===
-{{ :course:efif:apps:pasted:20240813-205359.png?nolink|}}+{{ :ef_informatik:pasted:20220522-081524.png?nolink&400|}}
 Jeder Request verlangt eine bestimmte //Ressource// (bisher: eine Datei) mit einer bestimmten //Method//. Die //Method// beschreibt die Aktion, typischerweise ''GET'', um eine Ressource zu holen, ''POST'' um eine Ressource auf dem Server zu verändern. Jeder Request verlangt eine bestimmte //Ressource// (bisher: eine Datei) mit einer bestimmten //Method//. Die //Method// beschreibt die Aktion, typischerweise ''GET'', um eine Ressource zu holen, ''POST'' um eine Ressource auf dem Server zu verändern.
  
Zeile 26: Zeile 26:
     * Kann zum Beispiel verwendet werden, um ein Mobiltelefon von einem Desktop-Computer zu unterscheiden.     * Kann zum Beispiel verwendet werden, um ein Mobiltelefon von einem Desktop-Computer zu unterscheiden.
  
-{{ :course:efif:apps:pasted:20240813-205420.png?nolink}}+{{ :ef_informatik:pasted:20220522-075257.png?400&nolink|}}
 Der Server antwortet mit einem //[[https://de.wikipedia.org/wiki/HTTP-Statuscode|Response Code]]// und zusätzlichen Informationen, zum Beispiel der angeforderten Ressource. Die wichtigsten Codes sind: Der Server antwortet mit einem //[[https://de.wikipedia.org/wiki/HTTP-Statuscode|Response Code]]// und zusätzlichen Informationen, zum Beispiel der angeforderten Ressource. Die wichtigsten Codes sind:
   * **200** (OK): Anfrage ist erfolgreich, die Ressource ist im Response Body enthalten.   * **200** (OK): Anfrage ist erfolgreich, die Ressource ist im Response Body enthalten.
Zeile 76: Zeile 76:
   * [[https://web.dev/promises/|mehr über Promises]]   * [[https://web.dev/promises/|mehr über Promises]]
  
-{{ :course:efif:apps:pasted:20240813-205445.png?nolink | }}+{{ :ef_informatik:javascript_async_fetch_promises.png?400&nolink |}}
  
 ==== JSON ==== ==== JSON ====
  • ef_informatik/webapps/apis.1726671467.txt.gz
  • Zuletzt geändert: 2024-09-18 14:57
  • von hof