Si un utilisateur demande un fichier volumineux à partir d'un serveur Web Apache, mais annule le téléchargement avant la fin, est-il enregistré par Apache? Puis-je savoir à partir du fichier journal quelles réponses n'ont pas été envoyées complètement et combien d'octets ont été envoyés?Le journal Apache a-t-il annulé les téléchargements?
Répondre
Oui, il enregistre ces demandes, mais vous devez utiliser mod_logio pour connaître les octets réels envoyés, sinon il affichera la quantité totale d'octets du fichier. Et de savoir qui ont échoué, vous auriez soit:
- utiliser le %X format modifier et utiliser un format de journal personnalisé
- comparer les octets réels envoyés contre les tailles des fichiers (pourquoi voudriez-vous si vous avez la première option :-))
Oui. Si je me souviens bien, il montrera la quantité d'octets transférés avant que le téléchargement ait été interrompu. Vous pouvez alors déterminer combien d'octets ont dû être envoyés pour cette requête et comparer.
Si vous utilisez PHP (comme la question a été étiquetée il y a une minute), vous pouvez probablement faire une sorte de tampon de réponse, où vous coupez le fichier en plus petits morceaux. Commencez par déterminer combien de morceaux vous devez envoyer, écrivez un journal (sur db, ou le syslog) pour dire que vous avez démarré et une fois que vous avez touché le dernier morceau, un autre pour dire que vous avez fini (ou supprimer le premier).