“Connection: Keep-Alive” dans la réponse du serveur

Je suis en train d'établir un HTTP connexion persistante à partir d'une application Silverlight vers une page PHP (c'est à dire sans la création d'une nouvelle connexion TCP pour chaque requête HTTP) hébergé par un serveur web Apache.

À cette fin, j'ai besoin de serveur web pour envoyer ses réponses HTTP avec la "Connexion" en-tête réglé sur "Keep-alive". Côté Client, il ne semble pas être de tout le réseau API fournie par Silverlight est essentiellement une enveloppe du navigateur réseau capabilies, de ce que j'ai lu : donc, si le navigateur supporte le protocole HTTP 1.1 et Connection: Keep-Alive par défaut pour ses demandes, c'est la fin. Content-Length est également bien défini, de sorte que le serveur ne sait quand
il a pour envoyer la réponse. Cependant, la réponse du serveur pour les requêtes PHP définit systématiquement la Connexion":" "fermer", mettant ainsi fin à la connexion et la prévention d'une connexion persistante.

J'ai essayé quelques choses pour contourner ce problème : les différentes Méthodes (GET et POST), donnant explicitement une "Connection: keep-alive" de la réponse avec le code PHP suivant au début de mon script :

header("Connection: Keep-alive");

Le dernier ajoute l'en-tête attendu de la réponse, ce qui est bon, mais un complément d' "Connection: close" est encore ajouté plus tard dans les en-têtes de réponse.

Est-il une fonction PHP ou Apache qui applique "fermer" (pour certains, la sécurité ou la performance but, je suppose), ou suis-je manqué quelque chose ?

Merci d'avance.

P. S. : En interceptant les paquets, j'ai remarqué que pas de nombreux sites web utilisent des "Keep-alive" et la connexion TCP est rétablie. N'est-ce pas Keepalive la valeur par défaut et préféré comportement sous HTTP 1.1 ?

C'est probablement apache, pas de PHP -- au meilleur de ma connaissance, PHP n'a pas de contrôle là-dessus. Vous pouvez vérifier en essayant de demander un fichier statique via la même connexion. Directive Apache: httpd.apache.org/docs/2.2/mod/core.html#keepalive

OriginalL'auteur ZenithM | 2010-06-07