Websocket почему работают быстрее чем http?
No silver bullet in this world.
Это абсолютно разные протоколы с разными целями назначения. Одно - синхронный протокол, другое событийный. Одно инициируется только клиентом, а другое двунаправленное. Используйте применимо к задаче решение, лучше подходящее.
Ну, и отвечая на вопрос про скорость - в http протоколе при каждом запросе открывается новое соединение, а в вебсокет - один раз. В итоге убирается потеря на этой точке
drewww.github.io/socket.io-benchmarking нашел отличные исследование на тему websocket.