Forum Programmation.php Apache et Content Length

Posté par  .
Étiquettes : aucune
0
10
déc.
2008
Bonjour,

J'ai un serveur web avec Apache 2 + PHP 5.
En regardant les entêtes http renvoyées par mon serveur, je constate que le header Content Length n'est présent que pour les pages où il n'y a pas de PHP.
Je précise que dans mes scripts je ne modifie pas les headers (aucun appel à la fonction php headers()), ils sont donc entièrement créés par Apache.
Savez-vous d'où peut venir ce comportement, et comment je pourrais forcer Apache à toujours le générer ?

D'autre part, j'ai activer le mod deflate. La compression fonctionne bien, mais je voudrais pouvoir tester avec un navigateur qui ne supporte pas la compression. En connaissez-vous un ?

Merci pour votre aide.
  • # Mode de transfert

    Posté par  (site web personnel) . Évalué à 4.

    Il existe 2 mode de transfert en HTTP. Lorsque la taille à transférer est connue, le serveur utilise Content-length pour que le client sache quand se termine la requête. Lorsque la taille n'est pas connue à l'avance, il utilise le mode chunked et transfère les données morceau par morceaux (la taille de chaque morceau étant précisée à chaque fois).

    Php étant dynamique, on ne connait pas la taille de ce qui est généré à l'avance d'où le mode chunked.

    Je ne sais pas s'il y a moyen de dire à php de tout mettre en buffer et forcer apache à passer en content-length. Peut-être en utilisant les ob_* et en forçant toi-même le header.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.