Après my previous question, où je pense que je l'ai réduit mon problème à le goulot d'étranglement:Comment définir l'en-tête Content-Length correct lorsque le serveur Web compresse automatiquement la sortie?
Comment définir la valeur correcte pour l'en-tête Content-Length
pour un fichier téléchargeable, à partir de PHP, lorsque le serveur web (apache) compresse automatiquement la sortie après?
Je suis à la recherche de la solution la plus robuste/générique. Je ne suis pas bien informé sur la compression de sortie, mais je suppose que Apache a plusieurs algorithmes de compression qu'il peut utiliser (gzip, etc?). Ainsi, à partir de PHP, comment devrais-je automatiquement découvrir quelle compression le serveur web utilise, et comment puis-je l'utiliser pour définir la valeur d'en-tête Content-Length
correcte pour la taille de fichier du fichier (après qu'il a été compressé)?
C'est ce que j'ai supposé aussi, puisque Apache fait la compression, mais je ne le vois pas apparaître dans le module d'extension des en-têtes HTTP Live de FireFox. Êtes-vous sûr que c'est le cas? –
@fireeyedboy: Hm, ce doit être un problème avec votre Apache. Parce que mon Apache local définit le champ * Content-Length * lors de l'utilisation de mod_deflate. – Gumbo
Apache ne définira pas Content-Length s'il utilise un codage en segments, qu'il utilisera pour la sortie PHP si mod_deflate est désactivé, * ou * si la taille du contenu est supérieure au paramètre DeflateBufferSize ou si mod_deflate n'est pas en cours utilisé pour PHP dans votre configuration. – orrd