Sven Rautenberg: Programmierung eines Proxy-Servers

Beitrag lesen

Moin!

[echo-server...]

Wo liegt denn jetzt mein Verständnisproblem bzgl. der Funktionsweise eines Proxies?

Die Frage ist: WIE hast du den Echo-Server programmiert.

Ganz banal würde ich davon ausgehen, dass du einfach ein PHP-Skript geschrieben hast, es "echo.php" benannt und dort sozusagen "print_r($_SERVER)" reingeschrieben hast.

Sowas kann als Proxy-Check nicht funktionieren!

Der HTTP-Request unterscheidet sich nämlich ein kleinwenig. Statt "GET /ressource.ext HTTP/1.0" sendet der Browser jetzt "GET http://www.example.com/ressource.ext HTTP/1.0". Dadurch weiß der Proxy, welchen Server er nach der Ressource befragen muß.

Das Problem des Echo-Servers ist nur, dass da noch ein Apache dazwischenfunkt. Der kann natürlich einen Request nach "GET /echo.php HTTP/1.0" ausführen und verstehen, aber nicht einen nach "GET http://www.heise.de HTTP/1.0" - da startet das echo-Skript erst gar nicht.

Du mußt dir einen echten echo-Daemon schreiben, der auf einem Port lauscht und alles, was reinkommt, als nettes HTML verpackt wieder zurückschickt. Der sollte dann auch in der Lage sein, normale HTTP-Connections zurückzusenden.

- Sven Rautenberg

--
Signatur oder nicht Signatur - das ist hier die Frage!