Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Datei an Client mit IdHttpServer.ServeFile (https://www.delphipraxis.net/55460-datei-client-mit-idhttpserver-servefile.html)

henrik 21. Okt 2005 13:19


Datei an Client mit IdHttpServer.ServeFile
 
hallo,

mein IdHttpServer soll einem Client in der OnCommandGet-Methode
die im Request angeforderte Datei schicken. zB 'http//www.google.de/.../logo.gif'.

Das IdHttpServer-Objekt bietet in der Methode "ServeFile" leider nur an, eine lokal abgespeicherte
Datei zu versenden :

Delphi-Quellcode:
function ServeFile(AThread: TIdPeerThread; ResponseInfo: TIdHTTPResponseInfo; aFile: TFileName): cardinal; virtual;
Ist das üblich bei Servern (meiner fungiert als Proxy) , dauernd kleine Dateien
erst auf der HD zu speichern und dann an den Client-Browser zu schicken und dann die Datei wieder zu löschen ?

Ich denke da eher an ein Stream-Objekt welches an den Client gesendet wird, aber da
kenn ich keine Kompo die das macht, bin auch nicht auf IdHttpServer-Kompo festgelegt.



danke &
gruß
henrik

DataCool 21. Okt 2005 14:11

Re: Datei an Client mit IdHttpServer.ServeFile
 
Hi,

was machen Proxy-Server denn ? Wozu sind die gut ?!
Die cachen Dateien, damit Du Sie als User schneller laden kannst ;-)

Und wie machen die das ?
Kommt nen Request rein, wird geschaut ob die Datei zufällig schon lokal vorliegt,
wenn ja und diese noch nicht "zu" alt ist, bekommst Du die Datei direkt vom Proxy-Server gesendet ohne das die orginal Datei angefordert wird.
Ist die Datei noch nicht lokal vorhanden, fragt der Proxy-Server die Orginal Datei an und legt diese dann im Cache ab.
So das wenn der nächste Client einen Request auf diese Datei sendet, der Proxy sich aus dem lokalem Cache bedienen kann.

Gruß Data

henrik 21. Okt 2005 17:10

Re: Datei an Client mit IdHttpServer.ServeFile
 
ja stimmt schon, aber in meinem fall soll es ein anon proxy sein der nichts
anderes macht als Filtern und nichts cached.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz