- Home
- Categorie
- Coding e Sistemistica
- PHP
- Header
-
Header
Ho un server A sulla quale metto dei file e un altro server B dalla quale li linko. Per poter contare i click uso un file php che aggiorna il db sul server B e poi apre il file.
Prima scioocamente utilizzavo un fopen, il problema è che sul server B ho banda limitata e queste aperture consumavano giustamente banda. Ho pensato di risolvere aprendo il file con un header. Semplificando una roba del genere:
[PHP]
mysql_query("UPDATE file set download=download+1 WHERE id=$id");
header("Location: http://serverb/nomefile.zip");
[/PHP]Il problema è che il consumo di banda non sembra diminuire. Ma quando si usa header il file viene caricato sul server e poi trasmesso al browser?
-
Header è una funzione PHP che permette l'utilizzo di parametri HTTP come "Location".
Di soloto header("Location: http://..."); crea un redirect del browser al file richiesto.
Tale operazione, in termini di tempo, equivale alla visita di un normale link HTML.
Il consumo di banda forse è dovuto alle query SQL.
Comunque per evitare problemi, dopo HEADER, metti "exit;"Ciao!
-
Da quando le query SQL consumano banda?
Forse non hai capito la mia domanda, non è una questione di tempo di download, ma di trasferimento di Kb (cioè banda utilizzata).La mia domanda è: quando faccio un "header(location..." il file viene fisicamente caricato dal server B e poi passato al browser (e quindi il server B ha un consumo di banda) oppure no?
-
L'interazioni tra server SQL possono consumare la banda, soprattutto se si creano ROLLBACK con le query.
A parte questo, Location permette il redirect del browser, quindi come avviene con un link, ci si sposta da un server ad un altro.
Quindi con Location, il browser va a scaricare il file direttamente dal server dove risiede.
-
Ma non c'è interazione fra 2 server SQL, l'update viene fatto su un server e il file è sull'altro.
Comunque se dici che il browser va a scaricare il file direttamente dal server dove risiede per me è perfetto. Devo solo capire perchè la banda non cala...