я читал, что ws не http, а на уровень ниже tcp. в первом запросе http указывает разве что, что нужно перейти на ws, не помню что именно указывать в заголовке надо. Или я вас как то не правильно понял? и еще вопрос, ws в тех же библиотеках нельзя натянуть поверх http2, и в таком случае либо отдельный сервер для вебсокетов или тот самый древний sse в http2.
Сокеты не могут быть на уровень ниже tcp, ибо они, по определению, это набор из адреса, порта и транспортного протокола