ฉันพยายามตรวจสอบว่ามีการใช้การเชื่อมต่อ 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
นี่คือเวอร์ชัน curl ของเครื่องไคลเอนต์ของฉัน:
[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
ฉันจะได้รับ curl เพื่อใช้การเชื่อมต่อแบบถาวร / keepalive ได้อย่างไร ฉันเคยทำ Googling มาบ้างแล้ว แต่ก็ไม่ประสบความสำเร็จ มันควรจะตั้งข้อสังเกตว่าผมเคยใช้ยังlinks
บนเครื่องไคลเอ็นต์เพื่อดึงทรัพยากรและที่ไม่ให้ฉันESTABLISHED
เชื่อมต่อบนเซิร์ฟเวอร์
แจ้งให้เราทราบหากฉันต้องการให้ข้อมูลเพิ่มเติม