Estou tentando verificar se as conexões persistentes HTTP estão sendo usadas durante a comunicação com um servidor da Web Tomcat que estou executando. Atualmente, posso recuperar um recurso no meu servidor de um navegador (por exemplo, Chrome) e verificar usando netstat se a conexão foi estabelecida:
# visit http://server:8080/path/to/resource in Chrome
[server:/tmp]$ netstat -a
...
tcp 0 0 server.mydomain:webcache client.mydomain:55502 ESTABLISHED
No entanto, se eu usar curl, nunca vejo a conexão no servidor no netstat.
[client:/tmp]$ curl --keepalive-time 60 --keepalive http://server:8080/path/to/resource
...
[server:/tmp]$ netstat -a
# no connection exists for client.mydomain
Eu também tentei usar o seguinte comando curl:
curl -H "Keep-Alive: 60" -H "Connection: keep-alive" http://server:8080/path/to/resource
Aqui está a versão curl da minha máquina 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
Como faço para que o curl use uma conexão persistente/keepalive? Já pesquisei bastante sobre o assunto, mas sem sucesso. Deve-se notar que eu também usei links
na máquina cliente para recuperar o recurso, e isso me dá uma ESTABLISHED
conexão no servidor.
Deixe-me saber se eu precisar fornecer mais informações.