Mailinglisten-Archive |
Hallo Leute, erst mal eine kurze Vorstellung: mein Name ist Carsten, bin 32, bin angestellter IT-Consultant, nachdem ich Physik studiert habe. Meine Wissens-Schwerpunkte liegen zum großen Teil im Breich JavaScript und auch Netzwerke. Ich will hier mal eine Kurze Erklärung dazu bringen, was eine Socket-Verbindung ist, da ich das Gefühl hab, es könnte bei zwei laufenden Threads eine Klärung der Verhältnisse bringen. ;) Der Internet-Verkehr läuft ja bekanntermaßen über IP-Nummern und Ports ab. (Web-Server lauschen auf Port 80). Ein Socket ist nun eine Ein-/Ausgabe-Puffer, der eine Verbindung zu einer IP-Nummer:Port-Kombination hergestellt hat. Diesen Buffer muß man mit dem entsprechenden Protokoll bedienen. Soll heissen, wenn ich einen Web-Server saugen will, muß ich nach Öffnen der Verbindung reines HTTP sprechen. Man muß sich also so verhalten, als wäre man ein Browser. Und wie von Mathias schon erwähnt, man verbindet sich nur mit dem Server, nicht direkt mit einem Unterverzeichnis. Was nun einen Proxy angeht, das ist ein Zwischen-Speicher, der früher mal dazu diente, Anfragen zwischen zu speichern, damit man nicht jedesmal das Netz benutzen mußte. Die Funktionsweise ist, daß sich der Browser (den das Skript simulieren muß) mit dem Proxy auf einem gewissen Port (meist 8080) verbindet. Nun fragt der Browser den Proxy, ihm die vom User angeforderte Seite zu liefern. Dazu wird ein erweitertes HTTP gesprochen. Der Proxy wertet die Anfrage aus, fragt per HTTP den Webserver, nimmt die Antwort entgegen und liefert das Ergebnis an den Browser weiter. Weiterhin speichert er die Antwort, um sie bei der nächsten Anfrage schneller liefern zu können und nicht über das Netz anfragen muß. Es gibt noch "Transparente Proxies", aber von denen merkt man nichts. Eine Firewall ist quasi ein Polizist, welcher den Netzwerk-Verkehr überwacht. Sie überprüft jede Verbindung, ob sie zulässig ist und verbietet sie. Die Firewall kann für gewisse Verbindungs-Typen (Protokolle, wie z.B. HTTP, FTP, ...) als Proxy dienen, sie generell verbieten oder sie bietet sogenannte Port-Mappings an. Port-Mappings sind quasi Aliasse. Man verbindet sich mit einem Port auf der Firewall, und die leitet direkt auf eine andere IP-Nummern:Port-Kombination weiter. Bei uns in der Firma gibt es eine Firewall. Damit wir aber auf News-Server zugreifen, haben wir einen Server, der bietet Port-Mappings zu verschiedenen News-Servern an. Wenn ich mich nun mit dem Server:Port1 verbinde, dann wird auf News-Server1:119 (119 ist der Port für nntp - news-protokoll) weitergeleitet. Bei Server:Port2 auf News-Server2:119. Um HTTP sprechen zu lernen, empfehle ich einen Blick in die entsprechende RFC. Bei google mal eingeben: "HTTP RFC". Viel Spass beim Lesen. Carsten
php::bar PHP Wiki - Listenarchive