J'essaie de vérifier que des connexions persistantes HTTP sont utilisées lors de la communication avec un serveur web Tomcat que j'ai lancé. Actuellement, je peux récupérer une ressource sur mon serveur à partir d'un navigateur (par exemple Chrome) et vérifier à l'aide de netstat que la connexion est établie :
# visit http://server:8080/path/to/resource in Chrome
[server:/tmp]$ netstat -a
...
tcp 0 0 server.mydomain:webcache client.mydomain:55502 ESTABLISHED
Cependant, si j'utilise curl, je ne vois jamais la connexion sur le serveur dans netstat.
[client:/tmp]$ curl --keepalive-time 60 --keepalive http://server:8080/path/to/resource
...
[server:/tmp]$ netstat -a
# no connection exists for client.mydomain
J'ai également essayé d'utiliser la commande curl suivante :
curl -H "Keep-Alive: 60" -H "Connection: keep-alive" http://server:8080/path/to/resource
Voici la version de curl de ma machine cliente :
[server:/tmp]$ curl -V
curl 7.19.5 (x86_64-unknown-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 libssh2/1.1
Protocols: tftp ftp telnet dict http file https ftps scp sftp
Features: IDN IPv6 Largefile NTLM SSL libz
Comment faire pour que curl utilise une connexion persistante/keepalive ? J'ai fait pas mal de recherches sur Google à ce sujet, mais sans succès. Il convient de noter que j'ai également utilisé links
sur l'ordinateur du client pour récupérer la ressource, et que le hace me donner une ESTABLISHED
sur le serveur.
Faites-moi savoir si je dois fournir plus d'informations.