20

Internet Web Applications (Fach) / 2) Basic Aspects (Lektion)

2

Diese Lektion wurde von Sogn erstellt.

Lektion lernen

Anzeige
  • Wie läuft generell eine Anfrage des Browsers (Client) an den Server ab? 1) Request /Data wird encoded via HTTP 2) Server processed den Request und encoded diesen 3) Server sendet Antwort an Client zurück
  • Was ist das REST Modell? Das Representational State Transfer ist ein Modell für verteilte (Medien)systeme , vorläufig im World Wide Web Es basiert auf dem Client Server Modell aber zusätzlich mit einem stateless Protokoll Jede REST-Nachricht enthält alle Informationen, die für den Server bzw. Client notwendig sind, um die Nachricht zu verstehen. Weder der Server noch die Anwendung soll Zustandsinformationen zwischen zwei Nachrichten speichern. Man spricht daher von einem zustandslosen (englisch: stateless) Protokoll. Vorteil: skalierbar, Lastverteilung
  • Wie unterscheiden sich REST und RPC? Anfragen in a REST-Systeme richten sich nicht an Prozeduren (Spezifische Aktionen, wie Flug buchen), sondern an Ressourcen (Dokumente) über eine generische Schnittstelle mit Standardsemantik
  • Wodurch zeichnet sich REST aus?  Client / Server-Architektur Ein zustandsloses Kommunikationsprotokoll (stateless) Generische Anwendungsschnittstelle mit Standardsemantik Operationen sind an Ressourcen gerichtet Nachrichten beschreiben sich selbst
  • Was sind die Vorteile von REST? Simpel, einfache Applicationentwicklung Skalierbarkeit Caching, senden der Antwort von Caches aus als vom Server
  • Was ist eine Webanwendung? Eine Webanwendung ist ein Anwendungsprogramm nach dem Client-Server-Modell. Anders als klassische Desktopanwendungen werden Webanwendungen nicht lokal auf dem Rechner des Benutzers installiert. Die Datenverarbeitung findet teilweise auf einem entfernten Webserver statt. Die Ergebnisse der Datenverarbeitung werden an den lokalen Client-Rechner des Benutzers übertragen. Genutzt wird eine Webanwendung dabei zumeist über einen Webbrowser. Diese überträgt Daten mit dem Webserver meist über das HTTP-Protokoll.
  • Was ist ein Webserver? Ein Webserver ist ein Server, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit Webserver-Software oder nur die Webserver-Software selbst.
  • Wie läuft eine Anfrage an den Webserver ab (vereinfacht)? Was ist wichtig? Client (Browser) sendet Request (Dokument) an Webserver Webserver leitet Request an das File System weiter File System sendet Dokument an den Webserver Webserver sendet Dokument an den Client Wichtig ist eine geringe Latenzzeit und das richtige Umgehen mit hohen Datenvolumen (Paralell Processing)
  • Wie baut der Browser eine Kommunikation mit dem Internet auf? (Web Server) 1) Webserver erstellt einen Pool of Entities für Client-Handling und eröffnet eine Schnittstelle für eingehende Requests 2) Webbrowser initialisiert eine Verbindung mithilfe von TCP über diese Schnittstelle, welche von einer Verbindungs-Entity bearbeitet wird 3) Verbindungs-Entity erstellt einen Client Descriptor und sendet diesen an den Delegation Process (Organisationskonzept) 4) Delegation Process sucht einen passende, verfügbare Processing Entity und sendet dieser den Client Descriptor 5) Kommunikation zwischen Browser und Internet ist nun über HTTP sichergestellt
  • Wie unterscheiden sich alte Webbrowser von neuen? Auch bezogen auf die Architekturschicht? Alte Webbrowser haben nur Dokumentrequestes gesendet und diese dann nach einem Rendering Process dem Client gezeigt Heutzutage besitzen Browser viele Erweiterungen und Technologien, wie zB. XML Unterstützung, Script Engines und Plug-In Engines. Somit kommt zur Architektur neben User Interface, Browser Engine und Rendering Engine noch Networking, XML-Parser, Script Engine  ...
  • Anzeige
  • Aus was besteht die heutige Browserarchitektur? User Interface Front-End, zeigt User die Webseiten an Browser Engine Engine des Browsers Rendering Engine Parsing und Layout von Webseiten vermischt mit anderen Sprachen wie CSS Networking Realisiert HTTP Kommunikation mit dem Server XML Parser Für XML Dokumente Script Engine Führt Scripts auf Webseiten aus Display Backend UI, fonts, zeichnen.. Data Persistence Speichert Cookies, Caches Plugin Engine Zuständig für die Ausführung der Plugins
  • Wie unterscheiden sich die HTTP 1.0 und 1.1 grob? HTTP/1.0 Für jeder Anfrage wird eine neue TCP-Verbindung aufgebaut und nach Übertragung der Antwort standardmäßig vom Server wieder geschlossen. Sind in ein HTML-Dokument beispielsweise zehn Bilder eingebettet, so werden insgesamt elf TCP-Verbindungen benötigt, um die Seite auf einem grafikfähigen Browser aufzubauen. HTTP/1.1 zusätzlichen Headereintrag (Keepalive)-> Möglich, keinen Verbindungsabbau durchzuführen, um die Verbindung erneut nutzen zu können (persistent connection) HTTP-Pipelining mehrere Anfragen und Antworten pro TCP-Verbindung, ohne auf eine Response warten zu müssen.  Für das HTML-Dokument mit zehn Bildern wird so nur eine TCP-Verbindung benötigt. abgebrochene Übertragungen  können fortgesetzt werden neben dem Abholen von Daten auch möglich, Daten zum Server zu übertragen TRACE-Methode, mit der der Weg zum Webserver verfolgt und überprüft werden kann, ob die Daten korrekt dorthin übertragen werden
  • Wie ist eine HTML message aufgebaut? HTTP Header (Unterteilt in weitere Sub-Header) gibt an, was mit den Adressresourcen gemacht werden soll und enthält Parameter enthält Informationen über den Body wie etwa verwendete Kodierungen oder den Inhaltstyp, damit dieser vom Empfänger korrekt interpretiert werden kann HTTP Body enthält die Nutzdaten
  • Wie ist der genaue Aufbau einer HTTP 1.1 message? Request Line (oder bei Response: Status Line) General Header Information wie zB. über den Verbindungstyp (keep-alive, close..) Request Header Gibt Information des Requests und Clients dem Server weiter Entity Header Metainfos über den Datenaufbau und inhalt wie zB. content length Message Body
  • Welche methods besitzt HTML 1.1? Wofür dienen diese? GET Request HEAD Wie GET aber mit leerem Body (zB. für determine the type of a file or its length without the need to receive the file) POST Submits message PUT Instructs the server to make the passed content available under thespecified URL Ab HTML 1.1 DELETE Deletes the specified resource OPTIONS Requests communication options from server (zB. unterstützte methods des Servers) TRACE Echoes back the send request CONNECT Reserved name for use by proxy servers
  • Welche Status Codes gibt es bei HTML 1.1? 1xx (100-199) (Informational)Request received, continuing processing 2xx (Successful)The action was successfully received, understood and accepted 3xx (Redirection)Further action must be taken in order to complete the request 4xx (Client Error, zB. 404)The request contains bad syntax or cannot be fulfilled 5xx (Server Error)The server failed to fulfil an apparently valid request
  • Wie unterscheiden sich HTTP 1.1 und HTTP 2? Binär statt textuell einfacher zu parsen und weniger fehleranfällig (zb. Leerzeichen, Groß-Klein Schreibung) Server push Server pushed fehlende oder später benötigte Respones in den Cache des Clients Vermeidet somit zusätzliche Requests Header Compression vermeidet unzählige TCP-Roundtrips (Nur 1 bei HTTP 2) Multiplexing Support allows your Browser to fire off multiple requests at once on the same connection and receive the requests back in any order Improved Pipelining Unterschiedliche Reihenfolge der Abarbeitung der Requests (Request 2 - Antwort 2 --9 Priorisierung von Requests möglich
  • Wie unterscheiden sich HTTP 2 und HTTP 3? Benutzt UDP statt TCP (Layer 4) Vorteil : if a packet gets dropped that only interrupts that one stream, not all of them Benutzt QUIC Protokoll (Implementiert Teile von TCP , Layer 3) 0-RTT support, subsequent connections can start up much faster by eliminating the TLS acknowledgement from the server when setting up the connection
  • Was sind Cookies? Kleiner Stück Daten einer Webseite, welche auf dem Computer während des Surfens gespeichert werden, diese werden im Header gespeichert (Extension) Login Data Tracking (Ads)
  • Wie genau funktionieren Cookies? Es gibt zwei Möglichkeiten für die Übertragung, Zuweisung und Auswertung von Cookies durch eine Website: 1) Übertragung im Header  via HTTP. Cookies im Client entstehen, wenn bei dessen Zugriff auf einen Webserver neben anderen HTTP-Headern in der Antwort des Servers zusätzlich eine Cookie-Zeile übertragen wird (siehe Aufbau). 2) lokal durch JavaScript oder weitere Skriptsprachen erzeugt Skript befindet sich in der vom Server übermittelten WebseiteCookie-Informationen werden lokal im Browser gespeichert, üblicherweise in einer Cookie-Textdatei. Bei nachfolgenden weiteren Zugriffen auf den Webserver sucht der Client-Browser alle Cookies dieser Domain heraus, die zum Webserver und dem Verzeichnispfad des aktuellen Aufrufs passen. Diese Cookie-Daten werden im Header des HTTP-Zugriffs mit übertragen, sodass die Cookies nur an jenen Webserver zurückgehen dürfen, von dem sie einst auch stammten.