浏览器可以直接请求 websocket

一、原生支持

浏览器原生支持 WebSocket 协议,这使得开发者可以直接在 JavaScript 代码中使用 WebSocket 来建立与服务器的双向通信通道。

javascript 复制代码
const socket = new WebSocket("ws://localhost:8080");

socket.addEventListener("open", function (event) {

  console.log("WebSocket连接已打开");

  socket.send("你好,服务器!");

});

socket.addEventListener("message", function (event) {

  console.log("收到消息:", event.data);

});

socket.addEventListener("close", function (event) {

  console.log("WebSocket连接已关闭");

});

socket.addEventListener("error", function (event) {

  console.log("WebSocket出错:", event);

});

二、跨域考虑

不过,当 WebSocket 请求涉及跨域时,浏览器会进行安全检查。与传统的 HTTP 请求跨域类似,需要服务器正确配置跨域头信息(如`Access-Control-Allow-Origin`等)来允许跨域的 WebSocket 连接。否则,浏览器可能会阻止 WebSocket 握手,导致连接失败。

例如:如果服务器没有正确配置跨域策略,在浏览器控制台可能会看到类似"WebSocket handshake: Unexpected response code: 403"的错误信息,表示 WebSocket 握手过程中出现问题,服务器返回了禁止访问(403)的状态码。

相关推荐
烁月_o919 分钟前
《红队和蓝队在网络安全中的定义与分工》
网络·经验分享·网络安全
WeeJot嵌入式31 分钟前
MobileNetV1网络特点解析及实现
网络
我要学编程(ಥ_ಥ)1 小时前
初始JavaEE篇 —— 网络原理---应用层协议:深入理解 HTTP/HTTPS
网络·java-ee
黑客Ash1 小时前
计算机网络 | 3.数据链路层
网络·网络协议·计算机网络
Bulestar_xx1 小时前
网络数据包分析
网络·安全
Heaven6451 小时前
4.7 TCP 的流量控制
网络·网络协议·tcp/ip·计算机网络
七灵微1 小时前
【前后端】HTTP网络传输协议
网络·网络协议·http
Likeadust1 小时前
国标GB28181-2022平台EasyGBS:双网口的网络硬盘录像机怎么设置IP地址以及录像机怎么添加不同网段的摄像机?
网络·tcp/ip·智能路由器