Warum benötigt der Websocket einen Öffnungs-Handshake über HTTP? Warum kann es kein unabhängiges Protokoll sein?

Websocket ist so konzipiert, dass seine Server einen Port mit HTTP-Servern gemeinsam nutzen können, indem sein Handshake eine gültige HTTP-Aktualisierungsanforderung ist.

Ich habe Zweifel an dieser Designphilosophie. Wie auch immer, das WebSocket-Protokoll ist ein unabhängiges TCP-basiertes Protokoll.

Warum brauchen wir diesen HTTP-Handshake (Upgrade-Anfrage) und einen Protokollwechsel? Warum können wir stattdessen nicht direkt (und unabhängig) einem Web-Socket-ähnlichen Protokoll folgen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage