浏览器可以直接请求 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)的状态码。

相关推荐
Shell运维手记17 小时前
交换机(二层交换机)完整工作原理
运维·网络·网络协议·macos·交换机
软泡芙17 小时前
【IOS】 Swift Package Manager (SPM) 指南
网络·ios·swift
白色冰激凌18 小时前
[SECS/GEM研究] (四)HSMS 用TCP取代串口
网络·c++·网络协议·secs/gem
三言老师18 小时前
CentOS7 / 8 yum 查询软件安装路径实操
运维·服务器·网络·centos
倚栏听雨_ylty18 小时前
H3C交换机关闭Telnet和HTTP服务实例
运维·网络·tcp/ip·网络安全
xywww16818 小时前
Claude Opus 5 API 接入实战:国内项目上线前的网络、Key、限流和排错清单
大数据·linux·网络·数据库·云计算·aws
ShineWinsu19 小时前
对于Linux:http的解析
linux·网络·c++·网络协议·http·请求·响应
白猫不黑19 小时前
SQL注入实战:手工注入全流程详解
网络·数据库·sql·web安全·网络安全·信息安全
可爱系程序猿1 天前
Windows 打印链路诊断:从设备枚举、TCP/IP 端口到 Spooler 服务恢复
网络·网络协议·tcp/ip
深念Y1 天前
P2P组网选型与折腾记录
网络·网络协议·p2p·局域网·远程·组网