Ce qui me choque, c’est que c’est a l’appli côté serveur d’implémenter son timeout.
WTF ? Et c'est quoi le keepalive TCP ou ssh d'après toi ?! C'est implémenté par l'appli ! Ça n'est pas du tout la stack TCP qui gère ça !
Car au final, rien n’empêche quelqu’un d’ouvrir une connexion, et de ne jamais la fermer. Le serveur finira par se retrouver sans possibilité de réouvrir une connexion faute de ressource parce qu’il aura n connexion inactive…
Et ? Limite le nombre de connexions par utilisateur. Même avec une keepalive de 5min, je peux te faire un déni de service en moins de temps que ça. Je ne comprends pas cette « peur ».
Après, on se met à réimplémenter du statefull (des sessions en PHP/Java/whatever) sur un protocole stateless (HTTP pour l'exemple) sur un protocole statefull qu'on n'utilise pas comme tel (TCP), et je peux te dire que les ressources bouffées par la mémorisation de ce genre d'empilement pourri est bien pire que garder une connexion TCP !
Dis-je une connerie ?
Je pense que beaucoup de gens ont dans la tête que « garder » une connexion TCP est dangereux, alors que c'est ce qui est fait à plus haut niveau pour tellement d'autres trucs… Je pense que c'est assez irrationnel. En tous cas, tu n'es pas le seul.
[^] # Re: Je comprends pas
Posté par benoar . En réponse au journal Le TCP keepalive m'a tué. Évalué à 0.
WTF ? Et c'est quoi le keepalive TCP ou ssh d'après toi ?! C'est implémenté par l'appli ! Ça n'est pas du tout la stack TCP qui gère ça !
Et ? Limite le nombre de connexions par utilisateur. Même avec une keepalive de 5min, je peux te faire un déni de service en moins de temps que ça. Je ne comprends pas cette « peur ».
Après, on se met à réimplémenter du statefull (des sessions en PHP/Java/whatever) sur un protocole stateless (HTTP pour l'exemple) sur un protocole statefull qu'on n'utilise pas comme tel (TCP), et je peux te dire que les ressources bouffées par la mémorisation de ce genre d'empilement pourri est bien pire que garder une connexion TCP !
Je pense que beaucoup de gens ont dans la tête que « garder » une connexion TCP est dangereux, alors que c'est ce qui est fait à plus haut niveau pour tellement d'autres trucs… Je pense que c'est assez irrationnel. En tous cas, tu n'es pas le seul.