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
-
- 1 / 18
-
Flashcards
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 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?
- Socket erzeugung
- Socket bind an die Adresse
- Packet senden
- Socket schließen
Welche Schritte sind nötig um ein UDP-Paket zu empfangen?
- Socket erstellen
- Socket an Port binden
- Socket .receive(packet) empfangen und z.B. in Array
- 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?
- Socket
- bind
- connect
- write
- close
Welche Schritte sind nötig um eine TCP-Verbindung entgegen zu nehmen?
- (server)Socket
- bind (Port)
- listen
- accept
- read
- 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?
- Verbindungsaufbau durch TCP
- 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