Не работает HTTP keep-alive

Разрабатывая сервер для приложения на сокетах, появилось желание реализовать такую возможность HTTP как Connection: keep-alive, однако как задумано не работает. При инициализации браузером подключения я его обрабатываю и посылаю ответ с Connection: keep-alive, но браузер при запросе других файлов(script, icon, etc.) использует не существующее подключение, а создает новое. Ниже приложу примеры запросов и некие логи.

request:

GET / HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: max-age=0
Connection: keep-alive
Host: localhost:3000
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0 (Edition Yx GX)
sec-ch-ua: "Opera GX";v="105", "Chromium";v="119", "Not?A_Brand";v="24"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"


// --- end
response:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 192


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>tsaaksrrt</title>
    <script src="script.js"></script>
</head>
<body>
    <h1>HEADER ON SITE</h1>
</body>
</html>


// --- end
another request, the same session:

GET /script.js HTTP/1.1
Host: localhost:3000
Connection: keep-alive
sec-ch-ua: "Opera GX";v="105", "Chromium";v="119", "Not?A_Brand";v="24"
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0 (Edition Yx GX)
sec-ch-ua-platform: "Windows"
Accept: */*
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: script
Referer: http://localhost:3000/
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7


// --- end

logs

На картинке можно увидеть, то, что сокеты у запросов разные, но они относятся к одной сессии. Соответственно вопрос заключается в том как это исправить. Так же допускаю, что я что-то неправильно понял в этой технологии


Ответы (0 шт):