Я намагаюся переконатися, що стійкі HTTP-з'єднання використовуються під час спілкування з запущеним веб-сервером Tomcat. В даний час я можу отримати ресурс на своєму сервері з браузера (наприклад, Chrome) і перевірити за допомогою netstat, що з'єднання встановлено:
# visit http://server:8080/path/to/resource in Chrome
[server:/tmp]$ netstat -a
...
tcp 0 0 server.mydomain:webcache client.mydomain:55502 ESTABLISHED
Однак, якщо я використовую curl, я ніколи не бачу з'єднання на сервері в netstat.
[client:/tmp]$ curl --keepalive-time 60 --keepalive http://server:8080/path/to/resource
...
[server:/tmp]$ netstat -a
# no connection exists for client.mydomain
Я також спробував використати таку команду curl:
curl -H "Keep-Alive: 60" -H "Connection: keep-alive" http://server:8080/path/to/resource
Ось версія завитки моєї клієнтської машини:
[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
Як змусити завиток використовувати стійке / keepalive з'єднання? Я зробив досить багато гугла на цю тему, але без успіху. Слід зазначити, що я також використовував links
на клієнтській машині для отримання ресурсу, і це дає мені ESTABLISHED
з'єднання на сервері.
Повідомте мене, якщо мені потрібно надати більше інформації.