Also wenn Dich das ganze näher interessiert, dann lohnt sich sicherlich mal ein Blick auf die Protokolle HTTP und TCP/IP die dabei beteiligt sind, sowie auch auf das ISO/OSI-Schichtenmodell.
nachdem sich die beiden verständigt haben, dass sie eine bestimmte Datei senden/empfangen
Eine großartige Verständigung gibt es an dieser Stelle gar nicht. Der Client (Browser) sendet einen HTTP-Request an den Server und definiert dabei über den URL-Pfad welcher Ressource er abrufen will. Im Erfolgsfall (HTTP Status-Code 200) beginn der Server direkt mit dem Senden der Inhalt, oder liefert eine Fehlermeldung zurück.
schickt der Server die Datei blockweise an den Client. Jedesmal, wenn der einen Block empfangen hat, bestätigt er den Empfang (evtl. mit Zurücksenden einer Checksumme, sodass der Server sieht, dass der Inhalt korrekt war) und dann wird der nächste Block gesendet.
Der Webserver schreibt einfach nur einen Datenstrom raus. An der Stelle könnte man tatsächlich unterbrechen, wenn man es als erforderlich ansieht. Um die paketorientierte Datenübertragung incl. Fehlerkorrektur kümmert sich eine darunter liegende Schicht (TCP), von der der Webserver im Zweifelsfall nichts mitbekommt und normalerweise auch nichts mitbekommen muss. Nach jedem Paket auf die Bestätigung zu warten würde die Übertragung übrigens extrem ausbremsen.
Wenn dem so ist, kann doch der Server auch jederzeit das Schicken der Blöcke einstellen.
Das sollte man allerdings keinesfalls von irgendwelchen teuren Prüfungen abhängig machen.
Wenn ich auf die Dateien zugreifen will, die ich in meinem Webspace gespeichert habe, z.B. dir1\abc.txt dann greif ich via URL www.xxxxx.com/..../dir1/abc.txt darauf zu.
Das ist der gängige Fall, wenn Du einfach statische Inhalts ausliefern willst. Häufig will man aber z.B. Inhalte aus einer Datenbank bereitstellen, oder z.B. von zeit oder Login abhängig machen.
Btw: Wie kann ich das machen? Insbesondere wenn ich meine Site www.xxxxx.com nicht in dieser URL verwenden will?
Mod_Rewrite, Serverseitiges Scripting, ein Anwendungsserver, oder notfalls auch die komplette Eigenimplementation. So ganz genau habe ich nun allerdings noch nicht verstanden was Du eigentlich vorhast.
Gruß
Borlander