====== Web-Server und HTTP ====== ===== Empfohlene Lernstrategie ===== - Die [[https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol | Wikipedia-Seite zu HTTP]] gibt einen sehr umfänglichen Einblick in die Funktionsweise von HTTP. - Der Abschnitt **Funktionsweise** veranschaulicht, wie das Zusammenspiel von Request und Response funktioniert. - Zwei **HTTP-Anfragemethoden**, die dir bekannt sein sollten, sind ''GET'' und ''POST''. - HTTP-Anfragen können anfragespezifische Informationen beinhalten, die ein Client an den Server übermitteln möchte (z. B. Benutzername und Kennwort bei einer Anmeldung). Darauf wird im Abschnitt **Argumentübertragung** eingegangen. - - Der Server kann unterschiedlich auf eine Anfrage des Clients reagieren und drückt die Art der Antwort durch einen **HTTP-Statuscode** aus. - HTTP hat seit seiner Erfindung einige Evolutionszyklen durchgemacht. Diese wird in [[https://www.youtube.com/embed/a-sBfyiXysI | diesem YouTube-Video]] (4:10) kompakt zusammengefasst. - Ein essenzieller Bestandteil moderner HTTP-Kommunikation ist das [[https://de.wikipedia.org/wiki/HTTP-Cookie | HTTP-Cookie]]. - Eine von Google initiierte und mittlerweile standardisierte Weiterentwicklung, die die Übermittlung von Web-Inhalten optimieren soll, ist das [[https://de.wikipedia.org/wiki/QUIC | QUIC-Protokoll]]. - Zur Bereitstellung von Webseiten wird meist eine der beiden etablierten Webserver-Lösungen [[https://de.wikipedia.org/wiki/Apache_HTTP_Server | Apache 2]] oder [[https://de.wikipedia.org/wiki/Nginx | nginx]] (sprich: engine x) eingesetzt. Für weniger anspruchsvolle Aufgaben gibt es aber auch einfachere Implementierungen wie [[https://de.wikipedia.org/wiki/Lighttpd | Lighttpd]] oder Bibliotheken für Skriptsprachen, wie z. B. [[https://de.wikipedia.org/wiki/WEBrick | WEBrick]] für Ruby oder die in der [[https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html | ESP8266WiFi-Bibliothek]] enthaltene WiFiServer-Klasse für IoT-Devices. ===== Ergänzendes und alternatives Material ===== * Video: [[https://www.youtube.com/embed/wW2A5SZ3GkI?start=316|Funktionsweise von HTTP]] (12:10) * Artikel: [[https://www.elektronik-kompendium.de/sites/net/0902231.htm|HTTP im Elektronik-Kompendium]] * Tutorial: [[https://code.tutsplus.com/de/tutorials/http-headers-for-dummies--net-8039|HTTP-Header für Dummies]]