Keep-Alive and Timeout Behaviours between different browsers on Windows
I don't have an answer why, but I also observed the same behaviour. I documented my findings here.
http://app-inf.blogspot.com/2012/09/browser-load-balancer-web-server-mod-jk.html
There may not be a way to change IE to send Keep-alive signals, but we changed a setting on the load balancer "Keep Alive Interval" to maintain the connection. Hopefully this helps.
Related videos on Youtube
Dan R
Updated on September 18, 2022Comments
-
Dan R over 1 year
Short Version
Why does chrome send out keep-alive's while IE and FF don't?
Long Version
Initially, I thought this was a server-side issue.
I've got an apache server that's a frontend proxy for a tomcat webapp. One of the pages on this app takes 15-20 minutes to return results. I've observed that using this page times out when it is accessed via IE or FF. It goes to a standard "cannot be reached" page like you would see if your network cable were disconnected when you tried to access the net. On Chrome, however, it works just fine.
This made me curious, so I spied the traffic with tcpdump on the server, and this I noticed a big difference. While IE and FF were silent until they hit their timeouts, chrome was sending periodic ACK packets to the server (and was getting response ACK's). Also of note, IE/FF both seemed to send the TCP disconnect, rather than receiving any timeout from the server.
So yeah, why does IE/FF disconnect when Chrome doesn't? Why does Chrome send keep-alives and IE/FF doesn't?
I've tried changing the registry settings recommended by MS in this KB article. It didn't seem to change any of the behavior.
Sample Traffic from IE (FF was almost identical)
23:25:56.814732 IP InternetExplorer.27378 > Server.https: . 83070:84430(1360) ack 154 win 65382 23:25:56.814976 IP InternetExplorer.27378 > Server.https: . 84430:85790(1360) ack 154 win 65382 23:25:56.814981 IP Server.https > InternetExplorer.27378: . ack 85790 win 63920 23:25:56.815201 IP InternetExplorer.27378 > Server.https: . 85790:87150(1360) ack 154 win 65382 23:25:56.815418 IP InternetExplorer.27378 > Server.https: . 87150:88510(1360) ack 154 win 65382 23:25:56.815422 IP Server.https > InternetExplorer.27378: . ack 88510 win 63920 23:25:56.815789 IP InternetExplorer.27378 > Server.https: . 88510:89870(1360) ack 154 win 65382 23:25:56.815916 IP InternetExplorer.27378 > Server.https: . 89870:91230(1360) ack 154 win 65382 23:25:56.815922 IP Server.https > InternetExplorer.27378: . ack 91230 win 63920 23:25:56.815929 IP InternetExplorer.27378 > Server.https: P 91230:91283(53) ack 154 win 65382 23:25:56.815940 IP Server.https > InternetExplorer.27378: . ack 91283 win 63920 23:25:56.858469 IP InternetExplorer.27378 > Server.https: . 91283:92643(1360) ack 154 win 65382 23:25:56.858773 IP InternetExplorer.27378 > Server.https: . 92643:94003(1360) ack 154 win 65382 23:25:56.858779 IP Server.https > InternetExplorer.27378: . ack 94003 win 63920 23:25:56.858992 IP InternetExplorer.27378 > Server.https: . 94003:95363(1360) ack 154 win 65382 23:25:56.859284 IP InternetExplorer.27378 > Server.https: . 95363:96723(1360) ack 154 win 65382 23:25:56.859288 IP Server.https > InternetExplorer.27378: . ack 96723 win 63920 23:25:56.859483 IP InternetExplorer.27378 > Server.https: . 96723:98083(1360) ack 154 win 65382 23:25:56.859731 IP InternetExplorer.27378 > Server.https: . 98083:99443(1360) ack 154 win 65382 23:25:56.859734 IP Server.https > InternetExplorer.27378: . ack 99443 win 63920 23:25:56.859737 IP InternetExplorer.27378 > Server.https: P 99443:99496(53) ack 154 win 65382 23:25:56.859743 IP Server.https > InternetExplorer.27378: . ack 99496 win 63920 23:25:56.902029 IP InternetExplorer.27378 > Server.https: . 99496:100856(1360) ack 154 win 65382 23:25:56.902484 IP InternetExplorer.27378 > Server.https: . 100856:102216(1360) ack 154 win 65382 23:25:56.902489 IP Server.https > InternetExplorer.27378: . ack 102216 win 63920 23:25:56.902585 IP InternetExplorer.27378 > Server.https: . 102216:103576(1360) ack 154 win 65382 23:25:56.902932 IP InternetExplorer.27378 > Server.https: . 103576:104936(1360) ack 154 win 65382 23:25:56.902935 IP Server.https > InternetExplorer.27378: . ack 104936 win 63920 23:25:56.903045 IP InternetExplorer.27378 > Server.https: P 104936:105622(686) ack 154 win 65382 23:25:56.903052 IP Server.https > InternetExplorer.27378: . ack 105622 win 63920 23:30:42.621188 IP InternetExplorer.27378 > Server.https: R 105622:105622(0) ack 154 win 9300
Sample traffic from Chrome:
21:58:54.534554 IP chrome.20353 > server.https: P 10125:11337(1212) ack 146 win 65303 21:58:54.534566 IP server.https > chrome.20353: . ack 11337 win 29088 21:58:54.534621 IP chrome.20353 > server.https: P 11337:12549(1212) ack 146 win 65303 21:58:54.534625 IP server.https > chrome.20353: . ack 12549 win 31512 21:58:54.534961 IP chrome.20353 > server.https: . 12549:13761(1212) ack 146 win 65303 21:58:54.534966 IP server.https > chrome.20353: . ack 13761 win 33936 21:58:54.535082 IP chrome.20353 > server.https: P 13761:14392(631) ack 146 win 65303 21:58:54.535086 IP server.https > chrome.20353: . ack 14392 win 36360 21:59:40.021420 IP chrome.20353 > server.https: . ack 146 win 65303 21:59:40.021437 IP server.https > chrome.20353: . ack 14392 win 36360 22:00:25.147256 IP chrome.20353 > server.https: . ack 146 win 65303 22:00:25.147307 IP server.https > chrome.20353: . ack 14392 win 36360 22:01:10.244639 IP chrome.20353 > server.https: . ack 146 win 65303 22:01:10.244669 IP server.https > chrome.20353: . ack 14392 win 36360 22:01:55.410540 IP chrome.20353 > server.https: . ack 146 win 65303 22:01:55.410560 IP server.https > chrome.20353: . ack 14392 win 36360 22:02:40.568607 IP chrome.20353 > server.https: . ack 146 win 65303 22:02:40.568642 IP server.https > chrome.20353: . ack 14392 win 36360 22:03:25.720408 IP chrome.20353 > server.https: . ack 146 win 65303 22:03:25.720438 IP server.https > chrome.20353: . ack 14392 win 36360 22:04:10.861881 IP chrome.20353 > server.https: . ack 146 win 65303 22:04:10.861914 IP server.https > chrome.20353: . ack 14392 win 36360 22:04:55.977031 IP chrome.20353 > server.https: . ack 146 win 65303 22:04:55.977063 IP server.https > chrome.20353: . ack 14392 win 36360 22:05:41.085828 IP chrome.20353 > server.https: . ack 146 win 65303 22:05:41.085848 IP server.https > chrome.20353: . ack 14392 win 36360 22:06:26.251530 IP chrome.20353 > server.https: . ack 146 win 65303 22:06:26.251550 IP server.https > chrome.20353: . ack 14392 win 36360 22:07:11.416086 IP chrome.20353 > server.https: . ack 146 win 65303 22:07:11.416154 IP server.https > chrome.20353: . ack 14392 win 36360 22:07:56.554244 IP chrome.20353 > server.https: . ack 146 win 65303 22:07:56.554275 IP server.https > chrome.20353: . ack 14392 win 36360 22:08:41.713610 IP chrome.20353 > server.https: . ack 146 win 65303 22:08:41.713628 IP server.https > chrome.20353: . ack 14392 win 36360 22:09:26.874657 IP chrome.20353 > server.https: . ack 146 win 65303 22:09:26.874684 IP server.https > chrome.20353: . ack 14392 win 36360 22:10:12.033494 IP chrome.20353 > server.https: . ack 146 win 65303 22:10:12.033512 IP server.https > chrome.20353: . ack 14392 win 36360 22:10:57.266808 IP chrome.20353 > server.https: . ack 146 win 65303 22:10:57.266846 IP server.https > chrome.20353: . ack 14392 win 36360 22:11:42.453183 IP chrome.20353 > server.https: . ack 146 win 65303 22:11:42.453204 IP server.https > chrome.20353: . ack 14392 win 36360 22:12:27.599746 IP chrome.20353 > server.https: . ack 146 win 65303 22:12:27.599787 IP server.https > chrome.20353: . ack 14392 win 36360 22:13:12.762650 IP chrome.20353 > server.https: . ack 146 win 65303 22:13:12.762682 IP server.https > chrome.20353: . ack 14392 win 36360 22:13:57.923229 IP chrome.20353 > server.https: . ack 146 win 65303 22:13:57.923248 IP server.https > chrome.20353: . ack 14392 win 36360 22:14:43.077688 IP chrome.20353 > server.https: . ack 146 win 65303 22:14:43.077716 IP server.https > chrome.20353: . ack 14392 win 36360 22:15:28.252353 IP chrome.20353 > server.https: . ack 146 win 65303 22:15:28.252372 IP server.https > chrome.20353: . ack 14392 win 36360 22:16:13.424019 IP chrome.20353 > server.https: . ack 146 win 65303 22:16:13.424050 IP server.https > chrome.20353: . ack 14392 win 36360 22:16:58.564352 IP chrome.20353 > server.https: . ack 146 win 65303 22:16:58.564368 IP server.https > chrome.20353: . ack 14392 win 36360 22:17:43.725261 IP chrome.20353 > server.https: . ack 146 win 65303 22:17:43.725291 IP server.https > chrome.20353: . ack 14392 win 36360 22:17:48.597411 IP server.https > chrome.20353: . 146:2570(2424) ack 14392 win 36360 22:17:48.682782 IP chrome.20353 > server.https: . ack 2570 win 65448 22:17:48.682804 IP server.https > chrome.20353: . 2570:6206(3636) ack 14392 win 36360 22:17:48.785650 IP chrome.20353 > server.https: . ack 6206 win 65448 22:17:48.785666 IP server.https > chrome.20353: . 6206:11054(4848) ack 14392 win 36360 22:17:48.894777 IP chrome.20353 > server.https: . ack 8630 win 65448 22:17:48.894792 IP server.https > chrome.20353: . 11054:14690(3636) ack 14392 win 36360 22:17:48.905976 IP chrome.20353 > server.https: . ack 11054 win 65448 22:17:48.905990 IP server.https > chrome.20353: . 14690:17114(2424) ack 14392 win 36360 22:17:48.905996 IP server.https > chrome.20353: P 17114:17420(306) ack 14392 win 36360 22:17:48.998232 IP chrome.20353 > server.https: . ack 15902 win 65448 22:17:49.293519 IP server.https > chrome.20353: . 15902:17114(1212) ack 14392 win 36360 22:17:49.412748 IP chrome.20353 > server.https: . ack 17420 win 65448 22:17:49.921452 IP chrome.20353 > server.https: P 14392:14685(293) ack 17420 win 65448 22:17:49.921493 IP server.https > chrome.20353: . ack 14685 win 38784 22:17:49.922027 IP server.https > chrome.20353: P 17420:17862(442) ack 14685 win 38784 22:17:50.323363 IP chrome.20353 > server.https: . ack 17862 win 65006 22:18:04.921966 IP server.https > chrome.20353: P 17862:17899(37) ack 14685 win 38784 22:18:04.922078 IP server.https > chrome.20353: F 17899:17899(0) ack 14685 win 38784 22:18:05.080745 IP chrome.20353 > server.https: . ack 17900 win 64969 22:18:10.030035 IP chrome.20353 > server.https: F 14685:14685(0) ack 17900 win 64969 22:18:10.030079 IP server.https > chrome.20353: . ack 14686 win 38784