/ itsummaries

[Ger]Grundlagen der Internet-Technologie

Grundbegriffe

Die Gesamtheit aller vernetzten Computer wird Internet genannt. Das Word Wide Web ist nur einer von vielen Internetdiensten

TCP/IP:

  1. Anwendung : Application/Presentation/Session
  2. Transport : Transport (TCP, UDP)
  3. Vermittlung : Network (IP)
  4. Nettzzugang : Data/Physical

IPv4: Paketvermittelt, Verbindungslos, Ungesichert, Ohne Flusskontrolle

IPv6: Mehr Adressen, Einfacher, Automatisch Konfiguriert

TCP: Zuverlässig, verbindungsorietiert

UDP: Verbindungslos, Anwendungsschnittstelle zu IP

Multiplexing: Abbilden mehrerer Verbindungen auf der Transportschicht auf eine Verbindung der Vermittlungsschicht

Domain Name Service

Hierarchisch in Baustruktur aufgebaut. Domain-Namens-Zonen und Parallele Server.

Reverse-Lookup: Zuerst Anfrage bei DNS-Server für de, dann google*, dann www.

URI: Eindeutige Adressierung einer abstrakten physikalischen Ressource.

URL: Adressierung von Objekt + Protokoll *news://comp.infosystims.www.unix

URI: Adressierung von Objekt

Basis-Url: Urlteil ohne Datei am Ende

Url-Kodierung: Nur druckbare Zeichen, Leerzeichen/Sonderzeichen kodiert

Kommunikationsprotokolle HTTP und HTTPS

ASCII-Basiert, zustandslos, Ziele über URL definiert

Paradigma: connection - request - response - close

MIME Headers: Binärdateien durch Multipurpose Internet Mail Extensions mit Typinformationen ergänzt. z.B. text/html oder image/GIF

Zugriffsmethoden: GET - Header und Body / HEAD - Header / POST - Sendet Daten

HTTP-Response:

  • StatusLine:
    • Protocol-Version: HTTP/1.0
    • Status-Code: 3 Ziffern
      • 1xx: Anforderung empfangen, Aktion foloegt
      • 2xx: Erfolgreich abgearbeitet
      • 3xx: Weiterleitung an andere Stelle
      • 4xx: Falsche/Unerlaubte Anfrage
      • 5xx: Server kann Anfrage nicht ausführen
    • Reason-Phrase: Kurzer Kommentar zu Status
  • Header: Htmlheader
  • Fieldname: Header-Feldname
  • Value: Attributwert zu Feldname
  • Body: Angefordertes Element

HTTP 1.0: Pragmatisch, einfach, eine Verbindung pro Anfrage

HTTP 1.1: Persistente Verbindung (Timeoutgröße auf Serverseite)

Virtual Hosts: IP-based, Non-IP-based

Web Proxy Caches: Anfragen gehen erst an Cache. Effiziente Filterungs-/Protokolierungsmöglichkeit

Proxies: Alle externen Anfragen gehen durch den Proxy: Filter,Cache,Log,Anonymize ...

Netzwerksicherheit: Confidentiality, Athentication, Message Integrity, Access and Availability

Attacken: Client Spoofing, Server Spoofing, Sniffing, MitM, DoS

Zugriffschutz:

  • HTTP 1.0: Basic Authentication Scheme (Übertragung von User/Password)
  • HTTP 1.1: Digest Authentication Scheme (Challenge durch Digest prüfen)

Zertifikate: Dienen der Identifikation (von TTP oder CA ausgestellt)

SSL-Handshake: Zwischen TCP/IP und Applikation, bester Algorithmus, Authentisierung, (Session Keys)

SSL: Authentizität, Integrität, Verschlüsselung, Erweiterbarkeit

Dynamisches HTML

Tier-Modell: Präsentation/Anwendungslogik/Datenhaltung trennen

Benutzerseitig: Plugins, Java, Skripte

Serverseitig: CGI, Server-APIs, Server-Side-Scripting

Plugins: Anwendungslogik im Plugn, extra installiert, Darstellung im Browser

Java-Applets: Javabytecode durch lokale JVM ausgeführt, Init-Start-Stop-Destroy, Ereignisbasiert, CPU-Last bei Nutzer, Versionsprobleme, Eingeschränkt durch Sicherheitsmodell

Skripte: JavaScript, Ausgeführt durch Browser, fehlende Trennung der Aufgaben, Sicherheitsproblematik, Abhängigkeit von Browserfähigkeit

CGI: Ausführung eines Prozesses auf dem http-Server, Übergebungsvariablen, "action=cgi-bin/test.pl" in Formular, Viele Sprachen, Komplexität, Kontrolle, Flexibilität, Resourcenverbrauch aber hoch

GET: Daten durch ? angehängt

POST: Daten in HTML-Body

Session-ID: Kennzeichnung der ID

Cookie: ASCII-Datei, Temporär oder Persistent, Domain, Gültigkeit, Pfad, Verfall, Name, Wert, ...

Server Side Scripting: PHP, JSP, Javascript, von HTTPD interpretiert und verarbeitet, isset prüft, verwendung direkt in html-datei $_REQUEST/GET/POST

MySQL: _connect, _select_db, _query, _fetch_array, _close

Java Servlets: Java-Applets auf Serverseite, ServletAPI, nur eine Instanz für alle Anfragen, Zustandsbehaftet, existiert auch über Prozess hinweg, init - service - destroy, doGet, doPost, getParameter("name"), Leistungsfähigkeit, niedriger Resourcenverbrauch, Abhängig von Fähigkeit des http-Servers, keine Sitzungsverwaltung von Anfang an, Vermischt Logik (Präsentation/(Anwendung)

JavaServer Pages: HTML-Seiten mit Java-Code, von Server in Servlets übersetzt, Kurzschreibweise für Servlet, Umwandlung bei erstem Aufruf