Hypertext Transfer Protocol

Ähnliche Dokumente
Anwendungsprotokolle: HTTP, POP, SMTP

Sicheres HTTP. 8. Juni Proseminar Electronic Commerce und digitale Unterschriften

y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier

Rechnernetze Übung 12

!"# $ % Internet Protokolle: HTTP 1/38

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Rechnernetze I. Rechnernetze I. 9 Anwendungsprotokolle SS 2014

DV-Praktikum. Probleme mit der Hausaufgabe?

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

HTTP Kommunikation (1)Request. HTTP - Überblick. HTTP Kommunikation (3) HTTP Kommunikation (2) Beispiel: Die folgende URL werde angefordert (Request)

Internet Protokolle für Multimedia - Anwendungen

Sicherheit im Internet - Datenschutz als Standortvorteil im E-Business -

Technische Anforderungen. zum Empfang. von XML-Nachrichten

Rechnernetze I SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B Stand: 9.

Peter Sobe Internettechnologien. HTTP Protokoll (1) Hypertext Transport Protocol, größtenteils zum Austausch von Hypertext (HTML, xhtml) benutzt

Literatur. [12-5] Upgrading to TLS Within HTTP/1.1 Netzwerke - WS 2013/14 - Teil 12/HTTP

Automail für fli4l. Kurze Beschreibung der Umgebung. Das Problem. LinuxFocus article number by Stefan Blechschmidt

Beispiel einer Anwendung: HTTP

1. Das World Wide Web 1.3 Das Hypertext Transfer Protocol. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt

Rechnernetze I. Rechnernetze I. 11 Anwendungsprotokolle SS 2012

Aus unserer Projekt- und Schulungserfahrung Oracle TechNet

Web Grundlagen zum Spidering

Web-Konzepte für das Internet der Dinge Ein Überblick

Rechnernetze I SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B Stand: 23.

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN

Literatur. [2-5] Upgrading to TLS Within HTTP/1.1 Webtechnologien SS Teil 2/HTTP

Projekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Rechnerorganisation. Inhaltsverzeichnis. Dieter Zöbel. Universität Koblenz-Landau Fachbereich Informatik, Institut für Softwaretechnik.

Einführung. Internet vs. WWW

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

HTTP Hypertext Transfer Protocol

HTTP Squid Debugging-Hilfen Praxis. Der Webproxy Squid. Ein Überblick und ein wenig (viel) HTTP. Dirk Geschke. Linux User Group Erding

Theoretische Aspekte

2 Grundlegende Funktionsweise eines HTTP-Servers

Professionelles Webhosting

SIP - Session Initiation Protocol

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: installcentos.odt

Crashkurs http - CGI/Servlets(JSF) - Viewer

<Cocoon Day="2003-Nov-18" /> Cocoon & WebDAV. Guido Casper. Competence Center Open Source S&N AG

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG

Rechnernetze und -Organisation Michael Hutter Karl C. Posch.

XML- und Webservice- Sicherheit

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Vorlesung Grundlagen des World Wide Web Klausur

Web Application Engineering & Content Management Übungsteil zu VU 2.0

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding?

Grundlagen Internet-Technologien INF3171

HTTP - Hypertext Transfer Protcol

WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN

VMware vrealize Log Insight- Entwicklerhandbuch

Bestimmen Sie anhand des SOA-record der Zone fh-koeln.de, wann die Informationen der Zone fh-koeln.de vermutlich zuletzt geändert wurden.

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet

Wichtige Eigenschaften der verwendeten Protokolle und Schnittstellen

Informationstechnik für Ingenieure

Forschungsseminar Web VSR Betreuer Michael Krug

Grundlagen der WWW- und Dokumenten-Architektur. Robert Strzebkowski TFH Berlin

Websockets: Leichtgewichtige Verbindungen für Web-Applikationen

DNS-Resolver-Mechanismus

Webserver allgemein Voraussetzung für die Integration von Plone NginX Apache 2 Demonstration Zusammenfassung

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

Client/Server-Systeme

HTTP. Hypertext Transfer Protocol. 4. Februar 2004

Einführung. Übersicht

The Technology and Market of Content Distribution Networks

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

Grundlagen der CGI-Programmierung

9RUOHVXQJDo Uhr Hörsaal 2 EG UDNWLNXP Do Uhr PC-Labor U1075

WebDAV 1. ALLGEMEINES ZU WEBDAV 2 3. BEENDEN EINER WEBDAV-VERBINDUNG 2 4. WINDOWS EXPLORER (WINDOWS XP) 3 5. WINDOWS EXPLORER (WINDOWS 7 ) 6

Makologa Touré Damian Gawenda

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1

CN.as COM - SIP Spezifikationen Notruf

REST Grundlagen. Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web. Olga Liskin

Entwurf und Implementierung eines Authentifikations-Proxys für das WWW

Vordefinierte Elemente (CI)

Apache HTTP Server Administration

Netzwerke und Verteilte Systeme: TCP/IP. (Vorabversion der Umdrucke)

Überblick. Netzprogrammierung 7b. Zustand in Web Anwendungen. Zustand in HTTP HTTP ist zustandslos Zwei Interaktionen sind unabhängig voneinander

YANT - yet another network toolkit

Was eine WAF (nicht) kann. Mirko Dziadzka OWASP Stammtisch München

Apache. O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Das umfassende Handbuch. Ben Laurie und Peter Laurie 2.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: install.odt. Berger EDV Service Tulbeckstr.

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand

Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web

HTTP. Ausarbeitung im Rahmen der Veranstaltung Verteilte und parallele Systeme II. an der Fachhochschule Bonn-Rhein-Sieg Fachbereich Informatik

Geschichte der Suchmaschinen und heutige Vernetzungsstrukturen

disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC

Internet Protokolle Thema: HTTP Gruppenarbeit: Sören Kralemann Thorsten Kunze. Hypertext Transfer Protocol

Compass E-Lab Remote Security Lab 19. November Hacking-Lab Glärnischstrasse 7 Postfach 1671 CH-8640 Rapperswil

In diesem Impressum hat sich die Euroweb Internet GmbH selbst als Ersteller der Webseiten markiert:

Load Balancing mit Freier Software

Modul Grundlagen der Internettechnologien. von Günter Schoppe. Hannover,

2 Hypertext Transfer Protocol (HTTP)

Webtechnologien Teil 2: Hypertext Transfer Protokoll (Wiederholung aus Rechnernetze)

Einstieg Projektziel Proxy Grundlagen Demonstration Ausblick. Reverse Proxys. Robert Hilbrich. Fakultät für Informatik Humboldt Universität Berlin

Netzwerkprotokolle. Physikalische Verbindungsebene Datenübertragungsebene

Transkript:

Ingo Blechschmidt <iblech@web.de> LUGA 6. Juli 2005

Inhalt 1 Geschichte Verwendung von HTTP 2 Typischer Ablauf Request-Methoden Header-Felder Keep-Alive 3 Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung 4

Geschichte Geschichte Verwendung von HTTP Erster RFC für HTTP/1.0: RFC 1945, Mai 1996 Erster RFC für HTTP/1.1: RFC 2616, Juni 1999 Viele weitere RFC bis jetzt

Verwendung von HTTP Geschichte Verwendung von HTTP World Wide Web (inkl. Web Services) Aufbauend: WebDAV (WWW Distributed Authoring and Versioning), Subversion (Versionskontrollsystem) Ähnlich: SIP (Session Initiation Protocol) u.a. für VoIP

Typischer Ablauf Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Wunsch: http://www.pro-linux.de/berichte/ Also Verbindung zu www.pro-linux.de:80 per TCP: GET /berichte/ HTTP/1.1 Connection: close HTTP/1.1 200 OK Date: Mon, 04 Jul 2005 18:17:33 GMT Server: Apache Last-Modified: Sun, 10 Apr 2005 21:20:54 GMT Content-Length: 10883 Content-Type: text/html <!DOCTYPE html[...]

Typischer Ablauf Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Wunsch: http://www.pro-linux.de/berichte/ Also Verbindung zu www.pro-linux.de:80 per TCP: GET /berichte/ HTTP/1.1 Connection: close HTTP/1.1 200 OK Date: Mon, 04 Jul 2005 18:17:33 GMT Server: Apache Last-Modified: Sun, 10 Apr 2005 21:20:54 GMT Content-Length: 10883 Content-Type: text/html <!DOCTYPE html[...]

Typischer Ablauf Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Wunsch: http://www.pro-linux.de/berichte/ Also Verbindung zu www.pro-linux.de:80 per TCP: GET /berichte/ HTTP/1.1 Connection: close HTTP/1.1 200 OK Date: Mon, 04 Jul 2005 18:17:33 GMT Server: Apache Last-Modified: Sun, 10 Apr 2005 21:20:54 GMT Content-Length: 10883 Content-Type: text/html <!DOCTYPE html[...]

Typischer Ablauf Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Wunsch: http://www.pro-linux.de/berichte/ Also Verbindung zu www.pro-linux.de:80 per TCP: GET /berichte/ HTTP/1.1 Connection: close HTTP/1.1 200 OK Date: Mon, 04 Jul 2005 18:17:33 GMT Server: Apache Last-Modified: Sun, 10 Apr 2005 21:20:54 GMT Content-Length: 10883 Content-Type: text/html <!DOCTYPE html[...]

Request-Methoden Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Request-Methode als erste Zeile des Requests Generell: Methode Pfad HTTP/1.1 Verfügbare Methoden GET: Normales Herunterladen einer Seite HEAD: Ich möchte bitte nur die Header. POST: Schicken von Daten an den Server (z.b. Formulare) TRACE: Zurücksenden des gesamten Requests (Debugging!) CONNECT: Direkte Weiterleitung auf TCP-Ebene (SSL, )

Header-Felder Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Format ähnlich wie bei RFC 822-konformen Mails Header beginnend mit X-: nicht standardisiert Oft verwendete Header Host: Direkte Adressierung (Virtual Hosts!) Date: Datum der Antwort (nützlich für z.b. Zeitsynchronisation) Last-Modified: Datum der letzten Änderung Server: Server-Software (z.b. Apache) User-Agent: Client-Software (z.b. Lynx, ELinks) Content-Length: Länge in Bytes des Antwort-Dokuments Content-Type: MIME-Typ des Antwort-Dokuments (z.b. text/html, application/xml)

Header-Felder Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Format ähnlich wie bei RFC 822-konformen Mails Header beginnend mit X-: nicht standardisiert Oft verwendete Header Host: Direkte Adressierung (Virtual Hosts!) Date: Datum der Antwort (nützlich für z.b. Zeitsynchronisation) Last-Modified: Datum der letzten Änderung Server: Server-Software (z.b. Apache) User-Agent: Client-Software (z.b. Lynx, ELinks) Content-Length: Länge in Bytes des Antwort-Dokuments Content-Type: MIME-Typ des Antwort-Dokuments (z.b. text/html, application/xml)

Header-Felder Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Format ähnlich wie bei RFC 822-konformen Mails Header beginnend mit X-: nicht standardisiert Oft verwendete Header Host: Direkte Adressierung (Virtual Hosts!) Date: Datum der Antwort (nützlich für z.b. Zeitsynchronisation) Last-Modified: Datum der letzten Änderung Server: Server-Software (z.b. Apache) User-Agent: Client-Software (z.b. Lynx, ELinks) Content-Length: Länge in Bytes des Antwort-Dokuments Content-Type: MIME-Typ des Antwort-Dokuments (z.b. text/html, application/xml)

Keep-Alive Typischer Ablauf Request-Methoden Header-Felder Keep-Alive Früher, bei HTTP/1.0: Eine TCP-Verbindung für jeden Request Nachteil: Ständiges Öffnen und Schließen von TCP-Verbindungen ineffizient Daher, seit HTTP/1.1: Keep-Alive Offenhalten der Verbindungen Neuer Header: Connection: close

Nutzen von Proxies Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung Üblicherweise: Client Server Mit Proxies: Client Proxy Server Traffic- und Zeiteinsparungen (Cache!) Möglichkeit der detaillierten Zugangsbeschränkung Ausfiltern von invaliden und möglicherweise die Sicherheit kompromittierenden HTTP-Requests (Aber: Möglicherweise Sicherheitslücken auch in den Proxy-Daemonen) U.U. Erhöhung der Anonymität

Proxies bei HTTP Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung GET http://www.pro-linux.de/ HTTP/1.1 HTTP/1.1 200 OK [...] Kurz: Statt dem Pfad die vollständige URL im Request Andere Header wie üblich Übliche Header-Ergänzungen durch Proxies: Via, X-Forwarded-For

CONNECT-Methode Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung CONNECT www.pro-linux.de:80 HTTP/1.1 HTTP/1.1 200 Connection established GET / HTTP/1.1 HTTP/1.1 200 OK [...]

CONNECT-Methode Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung CONNECT www.pro-linux.de:80 HTTP/1.1 HTTP/1.1 200 Connection established GET / HTTP/1.1 HTTP/1.1 200 OK [...]

CONNECT-Methode Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung CONNECT www.pro-linux.de:80 HTTP/1.1 HTTP/1.1 200 Connection established GET / HTTP/1.1 HTTP/1.1 200 OK [...]

CONNECT-Methode Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung CONNECT proxy:3128 HTTP/1.1 Host: proxy:3128 HTTP/1.1 200 Connection established GET http://www.pro-linux.de/ HTTP/1.1 HTTP/1.1 200 OK [...]

CONNECT-Methode Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung CONNECT proxy1:3128 HTTP/1.1 Host: proxy1:3128 HTTP/1.1 200 Connection established CONNECT proxy2:3128 HTTP/1.1 Host: proxy2:3128 HTTP/1.1 200 Connection established GET http://www.pro-linux.de/ HTTP/1.1 HTTP/1.1 200 OK [...]

Funktioniert das denn wirklich? Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung Ja. :) $./proxychain --listen=8000 -- \ proxy1:3128 proxy2:3128 [...] Im Browser: Setzen der Proxy auf localhost:8000 http://whatismyip.com/, http://www.augustakom.de/speedtest/ Meistens sogar Schleifen möglich: $./proxychain --listen=8000 -- \ p1:3128 p2:3128 p3:3128 p1:3128 [...]

Funktioniert das denn wirklich? Nutzen von Proxies Proxies bei HTTP CONNECT-Methode Proof-of-Concept-Implementierung Ja. :) $./proxychain --listen=8000 -- \ proxy1:3128 proxy2:3128 [...] Im Browser: Setzen der Proxy auf localhost:8000 http://whatismyip.com/, http://www.augustakom.de/speedtest/ Meistens sogar Schleifen möglich: $./proxychain --listen=8000 -- \ p1:3128 p2:3128 p3:3128 p1:3128 [...]

RFC 1945: HTTP/1.0 RFC 2616: HTTP/1.1 http://freshmeat.net/projects/theguide/: Hitchhiker s Guide to the Internet http://m19s28.vlinux.de/iblech/ proxychain-luga-20050706.pl: Proof-of-Concept-Implementierung Fragen?