Grundlagen von Go Web Applikationen

Prinzip einer Web-Applikation

  • Grundlage ist das Hypertext Transfer Protokoll HTTP
  • Client sendet einen HTTP Request
  • Server verarbeitet den Request
  • Server antwortet mit HTTP Response
  • Das Format des Request wird oft von einer Web-Applikation mit Hyperlinks auf einer Webseite vorgegeben
HTTP Kommunikation zwischen Web Client und Web Server

HTTP Kommunikation zwischen Web Client und Web Server

Zwei einfache Beispiele

Das Hello Web Beispiel
  • Kern der Go Web Applikationen sind Handler Objekte bzw. Handler Funktionen.
    • Sie erhalten einen Zeiger auf den HTTP Request (*http.Request) und erzeugen den HTTP Response, indem sie Ausgaben auf den http.ReponseWriter schreiben.
    • Die Handler-Funktion hat Zugriff auf alle Elemente des HTTP Requests.
  • Zu allererst wird der eingehende HTTP Request an einen sogenannten Multiplexer geleitet. Er bestimmt aus der URL, welcher Handler den Request bearbeiten soll.
  • http.ListenAndServe startet den Server auf dem angegebenen Port. Der Parameter nil bewirkt, dass der DefaultServeMux aus der Go Standardbibliothek verwendet wird.
  • http.HandleFunc registriert die Handler-Funktion hello beim DefaultServeMux Multiplexer für den relativen Pfad „/“.
    • Die einfachste Web-App schreibt einfach einen String in den ResponseWriter.

Go Webserver kann statische Seiten bereitstellen
  • Eine Webapp enthält meist statische Inhalte → Dateien
    • statische HTML-Seiten, Grafiken, Fonts, css Styles, Downloads, JavaScript, Flash, …
  • Dazu muss der absolute Pfad dieser Dateien bekannt sein
    • In produktiven Applikationen ein spezielles Verzeichnis, im Beispiel ein Verzeichnis im Quellcode-Baum (…/pub)
  • http.FileServer aus der Standardbibliothek macht Dateien zugreifbar
    • http.FileServer ist ein spezialisierter Handler

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.