K3 & K4 - Einführung in Webtechnologien

FHWS Würzburg - WINF - 2. Semester E-Commerce bei Steffen Heinzel - SS 2015 Teil 2 - Client- und Server- Grundlagen, HTTP und Webserver

FHWS Würzburg - WINF - 2. Semester E-Commerce bei Steffen Heinzel - SS 2015 Teil 2 - Client- und Server- Grundlagen, HTTP und Webserver


T. S.
Diese Lernkarten bieten eine Einführung in die Grundlagen der Webtechnologien auf Universitätsniveau. Sie konzentrieren sich auf die Interaktion zwischen Client und Server, die Funktionsweise von HTTP-Anfragen und -Antworten, sowie die Nutzung von Cookies. Zudem werden verschiedene Entwurfsaspekte für Server und Clients sowie die Unterschiede zwischen TCP- und UDP-Kommunikation behandelt. Diese Karteikarten eignen sich besonders für Studierende der Informatik, die ein tieferes Verständnis der Webtechnologien und deren Implementierung erlangen möchten.
Karten
18
Lernende
1
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
24.07.2015 / 25.07.2015

Lernkarten

Beschreiben Sie das Rendezvous-Problem und wie es gelöst wird.

  • Kommunizierende Netzwerkkomponenten werden in Client (Dienstnutzer) und Server (Dienstanbieter) unterteilt
  • Der Zeitpunkt der Kommunikation zweischen beiden muss abgestimmt werden, da sie sich verpassen können

Lösung:

  • Der Client fordert aktiv ein Dienst bei Server an
  • Der Server wartet passiv auf Anfragen von Clients und erbringt bestimmte Funktionalität

Welche weiteren Aufgaben erledigt ein Server oft zusätzlich?

  • Authentifizierung des Clients
  • Autorisierung 
  • Datenschutz
  • Datensicherheit
  • Schutz vor Fremdzugriffen

Nennen Sie die Vor- und Nachteile des Client/Server-Modells

  • Vorteile
    • in heterogenen Umgebungen einsetzbar
    • Interaktionen zwischen Client/Server sind klar definiert
    • Begriffe Client/Server sind in Theorie/Praxis gefestigt
  • Nachteile
    • Anwendung kann sowohl Client- als auch Server-Funktionalität besitzen
    • Bei Server-Ausfall ist der Dienst nicht mehr verfügbar und ggf. der Client nicht mehr bedienbar

Was versteht man unter Bearbeitungszeit bzw. Antwortzeit?

Die Bearbeitungszeit beschreibt die Zeit, die ein Server zur Bearbeitung einer Anfrage benötigt

Die Antwortzeit beschreibt die Zeit, die aus Sicht des Clients vergeht, bis auf eine Anfrage eine Antwort eintrifft.

Was ist ein Socket und aus was besteht es? Welche Java-Befehle kennen sie dazu?

  • einfacher Zugriff auf die Funktionen des TCP/IP Protokoll-Stacks zum Senden und Empfangen von Daten
  • Besteht aus zwei Endpunkten
  • ihm werden zugeordnet: Socket Descriptor, Speicherplatz und Verbindungszustand

Welche Schritte sind nötig um ein UDP-Packet zu versenden?

  1. Socket erzeugung
  2. Socket bind an die Adresse
  3. Packet senden
  4. Socket schließen

Welche Schritte sind nötig um ein UDP-Paket zu empfangen?

  1. Socket erstellen
  2. Socket an Port binden 
  3. Socket .receive(packet) empfangen und z.B. in Array
  4. close

Welche Klassen sind für eine TCP-Kommunikation nötig?

– Socket()

– Socket(String host, int port)
 

– ServerSocket()

– ServerSocket(int port)

– ServerSocket(int port, int backlog)

– ServerSocket(int port, int backlog, InetAddress bindAddr)

Welche Schritte sind nötig um eine TCP-Verbinung herzustellen?

  1. Socket
  2. bind
  3. connect
  4. write
  5. close

Welche Schritte sind nötig um eine TCP-Verbindung entgegen zu nehmen?

  1. (server)Socket
  2. bind (Port)
  3. listen
  4. accept
  5. read
  6. close

Nach welchen Entwurfsaspekten kann ein Client gestaltet werden?

  • parametrisierbar -Benutzer kann Parameter vorgeben.
    nicht parametrisierbar - Client verwendet immer die selben Parameter
     
  • iterativ - genau ein Ausführungsfaden
    parallel - mehrere Ausführungsfäden (mehrere Server gleichzeitig)
     
  • synchron - blockiert wärend er auf Antwort wartet
    asynchron - arbeitet weiter, wärend er auf Antwort wartet

Nach welchen Entwurfsaspekten kann ein Server gestaltet werden?

  • zustandslos - speichert keinerlei Verkaufsinformationen über die Kommunikation
    zustandsbehaftet - speichert Verkaufsinformation
     
  • iterativ - genau ein Ausführungsfaden
    parallel - mehrere Ausführungsfäden (schneller)
     
  • verbindungslos - UDP als Transportprotokoll
    verbindungsorientiert - TCP als Transportportokoll

Wie ist eine URL aufgebaut?

http://<host>:<port>/<path>?<searchpart>

Wie sieht ein Seitenabruf durch HTTP aus?

  1. Verbindungsaufbau durch TCP
  2. Seitenaubruf durch HTTP GET
    GET/path/file.html HTTP/1.1 \r\n
    Host: hostname:port \r\n (www.google.de)
    \r\n

Wie sieht eine HTTP Response aus?

HTTP/1.1 200 OK \r\n
Date: Sat, 20 Apr 2015 14:45:15 GMT \r\n (Sendedatum)
Server: Apache/2.2.21 (Debian) \r\n
Content-Location: rfc1739.html \r\n
Vary: negotiate,Accept-Encoding \r\n
Last-Modified: Sun, 27 Jan 2015 20:40:43 GMT \r\n
Content-Encoding: gzip \r\n (Kodierung des Body)
Content-Lenght: 32324 \r\n (Länge des Entity Body)
Connection: Keep-Alive \r\n
Content-Type: text/html; charset=UTF-8 \r\n (Media-Type)

Wie kann ein HTTP-Request aussehen?

GET/html/rfc179 HTTP/1.1 \r\n
Host: tools.ietf.org \r\n
User-Agent: Mozilla/5.0 ... \r\n
Accept: (Media-Types) text/html/ appllication/xhtml/ xml; \r\n
Accept-Language: en-US; q=o.5 \r\n
Accept-Encoding: gzip \r\n
Connection: close \r\n
\r\n - ENDE DES HEADS

[Entity Body]

Welche HTTP status codes kennen Sie?

  • 200 OK - erfolgreich
  • 301 Moved Permanently -  wurde umgezogen
  • 302 Moved temporarily - vorübergehen umgezogen
  • 400 Bad Request - nicht verstanden
  • 404 Not Found - existiert nicht
  • 500 Internal Server Error - Serverfehler

Was ist ein Cookie?

  • Ein Cookie besteht aus Daten, die ein Web Server an einen Client sendet
  • Dessen Web Browswer speichert das Cookie
  • Wenn der Browser die Website erneut kontaktiert, sendet er das Cookie an den Web Server
    • Login
    • Letzes Besuchsdatum
    • Warenkörbe

Lernen