;
WebSocket是一种在客户端和服务器之间实现双向通信的网络协议。
可以在单个TCP连接上提供全双工通信功能。服务器可以主动向客户端推送数据,不必客户端发送请求。
WebSocket约定了一个通信的规范,通过握手的机制,客户端和服务器之间建立一个类似TCP的连接,从而方便它们之间的通信。在建立握手时,数据是通过HTTP传输的,客户端通过发送特定的HTTP请求进行握手,服务器收到请求后进行验证,如果验证通过,则会建立WebSocket连接。
WebSocket的实时双向通信特使得它在许多应用场景发挥着重要的作用。如:
只读,表示连接状态。
0-连接尚未建立
1-连接已建立,可以进行通信
2-连接正在进行关闭
3-连接已经关闭或者连接不能打开
一种用于保持WebSocket连接的稳定和活跃的方法。客户端定期发送小的探测消息,以确保连接仍然有效。如果连接断开或出现问题,可以及时发现并处理。
WebSocket协议本身不受同源策略的影响,它允许客户端和服务器之间进行全双工双向通信,即客户端和服务器都可以主动向对方发送和接收数据。然而,是否要求同源实际上取决于服务器端的实现。
尽管WebSocket协议本身不受同源策略限制,但浏览器在建立WebSocket连接时,会发送一个包含Origin头的HTTP请求给服务器。服务器可以根据这个Origin头来判断请求是否来自同一源,并据此决定是否接受该WebSocket连接请求。因此,虽然WebSocket协议本身不实行同源政策,但实际的同源要求取决于服务器的实现。
总的来说,WebSocket不遵循严格的同源策略,但服务器可以根据请求中的Origin头来实施同源检查。