### What happened?

I recently started using `selenium-http-jdk-client` as a workaround for https://github.com/SeleniumHQ/selenium/issues/11750#issuecomment-1460580132, and I've noticed that tests which run longer than 3 minutes often fail with the following exception:
```
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '4.8.1', revision: '8ebccac989'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.6.3', java.version: '11.0.15'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Command: [60c7ca2458c8472f824c2c43dbf1ac2a, sendKeysToElement {id=ca596158-ff3e-4df8-b4ac-2c00e60ca6d7, value=[Ljava.lang.CharSequence;@474e34e4}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 111.0.5563.65, chrome: {chromedriverVersion: 111.0.5563.41 (976ef12907ef..., userDataDir: C:\Program Files (x86)\scop...}, goog:chromeOptions: {debuggerAddress: localhost:49762}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[RemoteWebDriver: chrome on WINDOWS (60c7ca2458c8472f824c2c43dbf1ac2a)] -> css selector: input[name='q']]
Session ID: 60c7ca2458c8472f824c2c43dbf1ac2a
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:567)
	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:257)
	at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:113)
	at example.Example.main(Example.java:42)
Caused by: java.io.UncheckedIOException: java.io.IOException: HTTP/1.1 header parser received no bytes
	at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:296)
	at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:181)
	at org.openqa.selenium.remote.TracedCommandExecutor.execute(TracedCommandExecutor.java:51)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
	... 3 more
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
	at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:565)
	at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119)
	at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:292)
	... 7 more
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
	at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:327)
	at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:673)
	at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.checkForErrors(Http1AsyncReceiver.java:297)
	at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:263)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(SequentialScheduler.java:175)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
	at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.IOException: connection closed locally
	at java.net.http/jdk.internal.net.http.SocketTube.signalClosed(SocketTube.java:157)
	at java.net.http/jdk.internal.net.http.PlainHttpConnection.close(PlainHttpConnection.java:277)
	at java.net.http/jdk.internal.net.http.AsyncSSLConnection.close(AsyncSSLConnection.java:111)
	at java.net.http/jdk.internal.net.http.Http1Exchange.cancelImpl(Http1Exchange.java:490)
	at java.net.http/jdk.internal.net.http.Http1Exchange.cancel(Http1Exchange.java:426)
	at java.net.http/jdk.internal.net.http.Exchange.cancel(Exchange.java:228)
	at java.net.http/jdk.internal.net.http.MultiExchange.cancel(MultiExchange.java:240)
	at java.net.http/jdk.internal.net.http.ResponseTimerEvent.handle(ResponseTimerEvent.java:71)
	at java.net.http/jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(HttpClientImpl.java:1248)
	at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:877)
```

My analysis of the stack trace indicates that the JDK HttpClient is firing a `ResponseTimerEvent` exactly 3 minutes after the `newSession` request was made, even though the request appears to have successfully completed, and requests are subsequently being made without issue.  The 3-minute duration appears to stem from the default `ClientConfig.readTimeout`, and when it elapses, the request that is currently awaiting a response (if any) appears to become the victim of the spurious timeout.

From my understanding, this feels like a bug in the JDK client -- I'm not seeing any misbehavior on Selenium's part when I step through the logic -- but I've not seen any bug report related to this, so I'm starting here seeing as the `selenium-http-jdk-client` is relatively newer and lightly used compared to the JDK.

### How can we reproduce the issue?

```shell
package example;

import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.Browser;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import java.net.URI;
import java.net.URL;
import java.time.Instant;
import java.util.HashMap;
import java.util.Map;

public class Example {

    public static void main(String[] args) throws Exception {
        System.setProperty("webdriver.http.factory", "jdk-http-client"); // issue only occurs with the jdk client?

        DesiredCapabilities browserOptions = new DesiredCapabilities();
        browserOptions.setBrowserName(Browser.CHROME.browserName());
        browserOptions.setPlatform(Platform.WIN10);
        Map<String, Object> sauceOptions = new HashMap<>();
        sauceOptions.put("name", "selenium-jdk-http-timeout");
        browserOptions.setCapability("sauce:options", sauceOptions);

        URL url = new URI("https",
                System.getProperty("sauce.userinfo"),
                "ondemand.us-west-1.saucelabs.com", 443, "/wd/hub",
                null, null
        ).toURL();

        Instant start = Instant.now();
        RemoteWebDriver driver = new RemoteWebDriver(url, browserOptions);
        driver.navigate().to("https://www.google.com");

        Thread.sleep(5000);
        for (Instant now = Instant.now(); now.isBefore(start.plusSeconds(200)); now = Instant.now()) {
            WebElement query = driver.findElement(By.cssSelector("input[name='q']"));
            query.clear();
            query.sendKeys(Instant.now().toString());
//            Thread.sleep(5000); // uncommenting this sleep appears to prevent the problem (since nothing is waiting when the timer expires?)
        }
    }
}
```

Reproduced with `org.seleniumhq.selenium:selenium-remote-driver:4.8.1` and `org.seleniumhq.selenium:selenium-http-jdk-client:4.8.1` as Maven dependencies, using the following JDK:
```
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment Temurin-11.0.15+10 (build 11.0.15+10)
OpenJDK 64-Bit Server VM Temurin-11.0.15+10 (build 11.0.15+10, mixed mode)
```

### Relevant log output

See stack trace above.

### Operating System

macOS Monterey

### Selenium version

OpenJDK 64-Bit Server VM Temurin-11.0.15+10

### What are the browser(s) and version(s) where you see this issue?

Chrome 111 on Windows 10

### What are the browser driver(s) and version(s) where you see this issue?

RemoteWebDriver 4.8.1

### Are you using Selenium Grid?

SauceLabs
if (last) {
              LOG.fine("Final part of text message received. Calling listener with " + builder);
              listener.onText(builder.toString());
              builder.setLength(0);
            }
            webSocket.request(1);
            return null;
          }
          @Override
          public CompletionStage<?> onBinary(java.net.http.WebSocket webSocket, ByteBuffer data, boolean last) {
            LOG.fine("Binary data received. Appending data");
            byte[] ary = new byte[8192];
            while (data.hasRemaining()) {
              int n = Math.min(ary.length, data.remaining());
              data.get(ary, 0, n);
              buffer.write(ary, 0, n);
            }
            if (last) {
              LOG.fine("Final part of binary data received. Calling listener with "
                       + buffer.size() + " bytes of data");
              listener.onBinary(buffer.toByteArray());
              buffer.reset();
            }
            webSocket.request(1);
            return null;
          }
          @Override
          public CompletionStage<?> onClose(java.net.http.WebSocket webSocket, int statusCode, String reason) {
            LOG.fine("Closing websocket");
            listener.onClose(statusCode, reason);