浏览器为什么不直接使用其他编程语言都在使用的socket API 非要重新造一个新的websocket协议呢?

昨天在深入学习 websocket协议的 时候 突然晕了
为什么要使用HTTP握手,直接在TCP握手不行吗?
感觉websocket除了HTTP只是用来握手 有点浪费啊
TCP的socket可以直接全双工通信,浏览器为什么不直接封装TCP的socket通信给web使用?,非要搞一个websocket协议呢? 有知道的吗?大家对这个协议是怎么理解的?