8768 sujets

Développement web côté serveur, CMS

Je suis en train de développer un mini serveur web simplifié sur un microprocesseur et je me pose la question "Qui du client ou du serveur est à l'origine de la clôture de la connexion TCP suite à l'envoi de la page demandée ?".
Autrement dit lorsque le serveur a envoyé au navigateur client la page demandée avec "Connection: close", doit-il attendre que le client ait réalisé la clôture de la connexion TCP et ensuite détecter cette clôture ou est-ce au serveur de rompre la connexion, après un "délai acceptable" pour laisser le temps aux données émises d'être prises en compte par le client. Merci de votre réponse. J'ai parcouru le RFC sans avoir trouvé la réponse.
Modifié par Caussy (10 Jun 2014 - 11:33)
Après test rapide avec netcat sur plusieurs serveurs web, mes observations :

- En HTTP/1.0, tous les serveurs ferment immédiatement la connexion à la fin de la transmission.
- En HTTP/1.1, la plupart des serveurs ne ferment pas la connexion, même si on n'indique pas de Keep-Alive dans les en-têtes (il semblerait qu'il soit par défaut à 300)
Merci à vous deux de la pertinence de vos réponses. Je n'avais parcouru que le RFC 1945 ...et encore en diagonale. Les deux possibilités étaient plausibles : la première c'est que ce soit le demandeur qui ferme la liaison qu'il a ouverte, mais cela aurait pu être aussi le serveur, ayant répondu, et n'ayant plus rien à dire qui s'empresse de fermer les liaisons inutiles pour pouvoir en accueillir de nouvelles. Encore merci. J'ai d'autres questions voyant qu'il y a du répondant .... concernant "Favicon" qui m'embète. Merci encore. Gérard Smiley biggrin