Hello,
Da die IP ja bekanntermaßen nicht einem einzigen Nutzer zuzuprdnen ist,
gäb es nur noch den Port. Ob man die Portanfrage auf den Server beeinflussen kann weiß ich nicht, aber selbst dann käme sie wahrscheinlich irgendwann doppelt vor oder nicht?
So viel Ports gibts ja nun mal nicht.
Das funktioniert etwa so:
Ein xbeliebiger Client sendet über die ihm zur Zeit zugeordnete IP einen Request an den Server auf dessen Port 80. Der Server habe bitte hier eine feste IP, obwohl da auch anderes denkbar wäre.
Beim Client wird pro Browserfenster ein Port geöffnet. Dieser Port hat eine Nummer. Es sind z.B. 30.000 verfügbare Ports am Client. Die Nummer des Ports wird ins Anfragepaket gepackt, und weitergeleitet.
Wir tun jetzt mal so, als würde das Paket beim Server genauso ankommen, wie es abgeschickt wurde. Also (Ziel-IP, Ziel-Port) (Absende-IP, Absende-Port)
Das Paket enthält jetzt auch mal (nur als Modellvorstellung) den gesamten Request.
Dieser wird vom Server ausgepackt und an den Ziel-Port weitergeleitet. Hinter diesem versteckt sich der Apache, weil wir ja Port 80 angegeben hatten. Der Apache macht jetzt einen Prozess auf, und merkt sich, dass der für (Absende-IP, Absende-Port) läuft.
Wärend der Prozess läuft, kann der Apache an Port 80 schon weitere Requests von anderen Clients annehmen und verteilen.
Nun ist der Request abgearbeitet und der Serverprozess auf dem Apachen möchte die Antwort loswerden. Das tut er, indem er sie dem Apachenhauptprogramm zurückgibt mit dem Hinweis "Das ist für Port X auf IP Y..., bzw. der Hauptprozess hat sich das natürlich unter der Prozess-ID des Kindprozesses gemerkt. Ist ja nur ein Vorstellungsmodell (das hoffentlich nicht zu sehr hinkt).
Nun geht das Antwortpaket wieder auf die Reise und kommt Beim Client bei IP Y an. Der schaut, für welchen Port es denn war. Ist dieser noch offen, dann leitet er es an den Port weiter und das Browserfenster bekommt seine Antwort. Der Host kann den Port jetzt schließen.
Wenn der Client an AOL angeschlossen ist, dann setzt der AOL-Proxy das entsprechend um. Eine Anfrage von der Clientleitung wird auf das Internet unter einer IP L und einem Port K vermittelt und weitergesendet. Kommt das Antwortpaket bei IP L und Port K wieder an, weiß der Proxy, dass er es auf die passende Clientleitung weiterschicken muss. Der Tabelleneintrag (Proxy-IP, Proxy-Port) <-> (Client-IP, Client-Port) kann dann gelöscht werden und die Proxy-IP steht mit einem anderen Port dem nächsten Surfer zur Verfügung.
Wenn es einer besser erläutern kann, sollte es /sie es bitte zun.
Die UNIQUE-ID des Servers wird also hierfür nicht benötigt.
Sie ist aber wunderbar einsetzbar für gleicheartige Anfragen des gleichen Clients an dasselbe Script (dieselbe Ressource). Die muss ja für jede Anfrage einen eigenen Variablenbereich in der Session eröffnen, wenn Mulit-Thread erlaubt sein soll. Wenn Du also einen (mehrstufigen) Datenbank-Suchvorgang vom selben Client mehrfach öffnest, also z.B. drei Suchfenster aufmachst für Kunden, um die Eintragungen vergleichen zu können, dann muss in der Session (es ist ja immer dieselbe) auch für alle drei Suichprozesse der aktuelle Zustand gespeichert werden.
Im Suchfomrular wird aleo eine eindeutige ID benötigt, um dem Fenstern auf dem Client (also den Formularen) immer den passenden Speicherblock zuordnen zu können.
Die abgearbeiten Blöcke müssen dann von Zeit zu Zeit entsorgt werden. Dafür baut man sich einen Garbage Collector, so wie ihn PHP für die Sessiondateien selber auch hat.
Die Unique-Id wird in diesem Beispiel also dafür benutzt, um das "Speicherobjekt" in der Session eindeutig zuordnen zu können, da der Client gleichzeitig drei Threads derselben Klasse eröffnet hat.
Noch eine Bitte:
----------------
Könnten wir uns darauf einigen, dass Gegenhaltungen, Korrekturen und Ergänzungen in höflichem Ton unter Beistellung der notwendigen Informationen stattfinden?
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)