# 1. window.postMessage 在 iframe 跨源通信的 origin 校验工程风险与最佳实践 A postMessage 自动校验来源,无需手动处理 B 接收方无需校验消息来源 C 使用 `*` 作为 targetOrigin 最安全 D 发送时用 targetOrigin 指定来源,接收时校验 event.origin 白名单 ✓ 正确答案
# 2. XSS/CSRF 的协议层基础 A XSS 是服务端漏洞,与浏览器无关 B CSRF 依赖浏览器自动携带 Cookie 且服务端不校验请求来源 ✓ 正确答案 C Cookie 从不同源自动携带 D SameSite 无法缓解 CSRF
# 3. Storage Access API 的跨站 Cookie 重新授权 在 XSS/CSRF 防护的协作 A Storage Access API 自动授予第三方 Cookie 访问权限 B Storage Access API 会放宽 XSS 防护 C Storage Access API 需用户授权,第三方 iframe 才能访问第一方 Cookie ✓ 正确答案 D 授权后无需任何 CSRF 防护
# 4. Same-Origin Policy(SOP)在 DOM 访问、Cookie、HTTP 头读取的边界与现代浏览器放松策略 A SOP 允许任意跨源读取 B 跨源资源可加载但默认不可读,读取需 CORS 等显式机制 ✓ 正确答案 C CORS 是默认启用的 D Cookie 天然跨源共享
# 5. Access-Control-Allow-Credentials: true 与 withCredentials: true 在跨源带 Cookie 请求的工程价值 A 该机制与安全无关 B 使用 credentials 时 Access-Control-Allow-Origin 可为 `*` C 只有请求侧设置即可携带 Cookie D withCredentials 与 Access-Control-Allow-Credentials 必须同时设置 ✓ 正确答案
# 6. SameSite Cookie 的 Strict/Lax/None 默认值(Lax)在 CSRF 防护与第三方嵌入的边界 A 默认 SameSite=Lax 允许顶级导航 GET 携带,能防大多数跨站 POST CSRF ✓ 正确答案 B Lax 允许所有跨站请求携带 Cookie C None 是最安全的默认值 D Strict 允许跨站子资源携带 Cookie
# 7. Cross-Origin Read Blocking(CORB) A CORB 只影响同源请求 B CORB 允许跨源读取所有数据 C CORB 与 CORS 无关 D CORB 阻止跨源加载的敏感响应被读取,针对非脚本 MIME 类型 ✓ 正确答案
# 8. Cross-Origin Isolation 与 SharedArrayBuffer/performance.now() 高精度时间在多人编辑应用的边界 A 开启 COOP+COEP 跨源隔离后方可用 SharedArrayBuffer 与高精度时间 ✓ 正确答案 B SharedArrayBuffer 无需任何隔离即可使用 C 跨源隔离不影响资源加载 D performance.now() 在隔离后精度更低
# 9. COEP(require-corp)在嵌入跨域资源(图片/脚本) A require-corp 要求跨源资源声明 CORP 或 CORS,否则阻止加载 ✓ 正确答案 B require-corp 允许任意跨源资源嵌入 C require-corp 只影响同源资源 D credentialless 与 require-corp 完全相同
# 10. Partitioned Cache(Partitioned: 第三方 Cookie)SameSite=None; Secure; Partitioned 默认启用的边界 A Partitioned Cookie 按顶级站点分区存储,需与 SameSite=None; Secure 组合 ✓ 正确答案 B Partitioned Cookie 允许跨站任意追踪 C Partitioned Cookie 无需 Secure 属性 D Partitioned 与 SameSite=None 互斥
# 11. CORS Preflight(OPTIONS)的 Access-Control-Max-Age 在高频跨域请求的工程取舍 A 预检会让所有跨域请求变慢,无法优化 B 预检只能发送一次 C 简单请求也需要预检 D Access-Control-Max-Age 缓存预检结果,减少高频跨域请求的预检次数 ✓ 正确答案
# 12. MQTT over WebSocket 在 IoT 双向通信的工程价值与现代浏览器支持 A 浏览器原生支持 MQTT,无需 WebSocket B MQTT over WebSocket 无法实现双向通信 C MQTT 不支持 QoS 等级 D MQTT over WebSocket 让浏览器用发布/订阅模型与 broker 通信 ✓ 正确答案
# 13. SSE(Server-Sent Events)的 EventSource 与流式响应 A SSE 通过 text/event-stream 单向流式推送,内建自动重连与 Last-Event-ID 续传 ✓ 正确答案 B EventSource 是双向全双工通信 C SSE 无法流式传输数据 D SSE 需要手动实现重连
# 14. WebSocket 握手升级与帧协议 A WebSocket 全程使用 HTTP 协议 B WebSocket 握手无需任何请求头 C WebSocket 先经 HTTP Upgrade 握手,再切换为帧协议,客户端帧必须掩码 ✓ 正确答案 D WebSocket 只有文本帧,无二进制帧
# 15. WebRTC 信令、SDP 协商、ICE 候选 A WebRTC 自带信令协议,无需外部通道 B 信令通过外部通道交换 SDP 与 ICE 候选,SDP 协商媒体,ICE 做 NAT 穿透 ✓ 正确答案 C ICE 只收集本机候选,无需 STUN/TURN D SDP 与媒体协商无关
# 16. gRPC-Web 与 Connect-RPC 在浏览器调用 RPC 的工程取舍 A 浏览器可直接调用 gRPC 原生协议 B 两者都不支持类型安全 C gRPC-Web 支持所有流式传输 D Connect-RPC 支持多种传输协议与更完整的流式,比 gRPC-Web 浏览器兼容更好 ✓ 正确答案
# 17. WebRTC 的 DataChannel 在 P2P 双向低延迟通信的工程价值 A DataChannel 必须通过服务器中转 B DataChannel 无需信令即可建立 C DataChannel 只支持可靠有序模式 D DataChannel 提供 P2P 双向通道,支持可靠/不可靠、有序/无序模式 ✓ 正确答案
# 18. AMQP 与 MQTT 在协议特性与浏览器支持的工程取舍 A AMQP 轻量适合 IoT,MQTT 重适合企业 B 两者浏览器原生支持 C AMQP 面向企业级队列复杂路由,MQTT 轻量面向 IoT,浏览器都需 WebSocket 封装 ✓ 正确答案 D 两者协议特性完全相同
# 19. WebSocket 的 permessage-deflate 压缩在带宽优化的工程应用 A 默认对所有消息启用压缩 B 压缩只能用于二进制消息 C 压缩会增加带宽 D permessage-deflate 通过握手协商,对文本消息压缩省带宽,但已压缩数据无收益 ✓ 正确答案
# 20. fetch 的 no-cors 模式与 opaque 响应,为什么读不到状态码与响应体、何时该用 no-cors(如埋点、媒体探测),以及需要读取响应时的替代方案? A opaque 响应可以读取状态码 B no-cors 可以读取响应体 C no-cors 只发不读,opaque 响应无法读取状态码与响应体 ✓ 正确答案 D no-cors 用于需要读取数据的场景
# 21. Cookie 的 HttpOnly、Secure 属性与跨站攻击防护 A HttpOnly 防止服务端读取 Cookie B 两者与 CSRF 防护无关 C Secure 让 Cookie 在 HTTP 明文传输 D HttpOnly 防 XSS 脚本读取,Secure 防明文传输窃取 ✓ 正确答案
# 22. Cookie 的 SameSite(Lax/Strict/None + Partitioned) A None 是最安全的设置 B 三种值行为完全相同 C Strict 允许跨站子资源携带 Cookie D Lax 默认允许顶级导航 GET 携带,None 需 Secure,Partitioned 按顶级站点分区 ✓ 正确答案
# 23. 同源策略与 CORS 的预检请求 A 简单请求也会触发预检 B SOP 默认禁止跨源读取,非简单请求通过 OPTIONS 预检确认后由 CORS 放行 ✓ 正确答案 C CORS 与 SOP 无关 D 预检请求发送的是 GET
# 24. DNS 解析与 TTL 缓存在浏览器导航的影响 A TTL 与 DNS 缓存无关 B DNS 缓存受 TTL 控制,dns-prefetch 可预解析减少导航延迟 ✓ 正确答案 C DNS 解析不参与浏览器导航 D TTL 越长解析延迟越高
# 25. COOP/COEP/CORP 三件套与跨域隔离 A COOP 控制资源嵌入,COEP 控制窗口隔离 B 三者互不相关 C COOP 隔离窗口、COEP 要求跨源资源声明 CORP、CORP 声明可嵌入性,配合开启跨域隔离 ✓ 正确答案 D 跨域隔离无需这些头
# 26. TLS 1.3 的 ECH(Encrypted Client Hello,取代早期 ESNI) A ECH 加密请求体,不涉及 SNI B ECH 加密 TLS 握手中的 SNI,防止域名泄露 ✓ 正确答案 C ECH 是 ESNI 的早期版本,已被淘汰 D ECH 与隐私无关
# 27. COEP: credentialless 在第三方 iframe 嵌入的工程价值 A credentialless 要求所有跨源资源声明 CORP B credentialless 与 require-corp 完全相同 C credentialless 允许跨源资源无凭据加载,比 require-corp 更易部署 ✓ 正确答案 D credentialless 会阻止第三方 iframe 嵌入
# 28. Cross-Origin-Resource-Policy same-site 在第三方资源隔离的工程价值 A same-site 允许任意跨源嵌入 B same-site 只允许严格同源 C CORP same-site 允许同站点跨源嵌入,阻止跨站嵌入,兼顾协作与隔离 ✓ 正确答案 D CORP 与资源嵌入无关
# 29. HTTP Problem Details(RFC 9457)在错误响应结构的工程应用 A 它定义标准错误结构(type/title/status/detail/instance),统一错误响应 ✓ 正确答案 B 它是自定义错误格式,无标准 C 它只用于 HTTP 2xx D 它无法携带扩展字段
# 30. WebSocket 跨域与浏览器同源策略的边界(是否使用 Origin 头校验) A WebSocket 完全受同源策略限制 B WebSocket 请求自带校验,无需校验 Origin C 浏览器对 WebSocket 跨域限制较弱,服务端应校验 Origin 头防跨站伪造 ✓ 正确答案 D Origin 头无法用于 WebSocket 鉴权
# 31. document.domain 在废弃前后的跨子域协作与现代 postMessage 的替代 A document.domain 因弱化同源安全被废弃,现代用 postMessage 或 CORS 替代 ✓ 正确答案 B document.domain 仍被所有浏览器支持 C postMessage 无法跨子域 D document.domain 提升安全性
# 32. Channel Messaging API(MessageChannel/MessagePort)在 iframe 与 Worker 通信的现代工程价值 A MessageChannel 通过 MessagePort 建立双向通信,适合 iframe/Worker 通信 ✓ 正确答案 B MessageChannel 只能单向通信 C MessageChannel 与 postMessage 功能完全相同 D MessagePort 无需管理生命周期
# 33. Cross-Origin-Opener-Policy: same-origin 与 same-origin-allow-popups 的边界 A same-origin 永久保留跨源 opener 关联 B same-origin 切断跨源 opener 关联,same-origin-allow-popups 保留弹窗协作 ✓ 正确答案 C 两者行为完全相同 D COOP 与安全无关
# 34. CORS 在 Vary: Origin 缓存穿透的工程实践与 CDN 缓存协作 A Vary: Origin 让缓存按 Origin 区分 CORS 响应,避免跨源缓存污染 ✓ 正确答案 B Vary: Origin 会合并所有 Origin 的响应 C 跨域响应无需设置 Vary D CDN 自动按 Origin 缓存,无需 Vary
# 35. Accept-CH 与 Client Hints 在跨域隐私边界的现代工程价值 A Client Hints 暴露完整 UA 字符串 B Accept-CH 声明期望的提示,Sec-CH-UA 按需上报设备信息,减少隐私泄露 ✓ 正确答案 C Client Hints 与隐私无关 D Client Hints 无法区分设备
# 36. Web Locks API(navigator.locks.request)在跨标签协调的同源边界 A Web Locks 跨源共享锁 B Web Locks 无法防止数据竞争 C Web Locks 只能用于单标签页 D Web Locks 在同源范围内提供互斥锁,协调多标签并发访问 ✓ 正确答案
# 37. Origin 头与 Same-Site vs Same-Origin 区分在 cookie scope 与跨域请求的工程价值 A Same-Origin 只看域名,忽略协议 B Origin 头与 Cookie scope 无关 C 两者完全相同 D Same-Origin 要求协议+域名+端口相同,Same-Site 只看站点,Cookie 的 SameSite 基于站点 ✓ 正确答案
# 38. Permissions-Policy 在跨域隔离(COOP/COEP) A Permissions-Policy 与权限无关 B Permissions-Policy 控制页面可用的浏览器权限,与 COOP/COEP 协作构建安全边界 ✓ 正确答案 C Permissions-Policy 只影响第一方页面 D Permissions-Policy 无法限制 iframe 权限
# 39. WebTransport 的多路复用流(datagram)在同源/跨源限制的边界 A WebTransport 只能同源使用 B datagram 有序可靠 C WebTransport 受安全上下文与 HTTP/3 支持限制,跨源需 CORS 配置 ✓ 正确答案 D WebTransport 无需任何服务器支持
# 40. Sec-Fetch-Site/Sec-Fetch-Mode/Sec-Fetch-Dest 在服务端跨域决策的现代工程价值 A Sec-Fetch-* 由服务端生成 B Sec-Fetch-Site/Mode/Dest 描述请求上下文,服务端可辅助跨域决策与 CSRF 防护 ✓ 正确答案 C Sec-Fetch-* 无法被伪造,可完全信任 D Sec-Fetch-* 与跨域无关
# 41. 长轮询与 WebSocket 的取舍 A 长轮询实时性优于 WebSocket B 长轮询无需 HTTP 请求 C 两者机制完全相同 D WebSocket 全双工低延迟,长轮询兼容性好但实时性差、资源占用高 ✓ 正确答案
# 42. Server-Sent Events(SSE)在单向推送(AI 流式响应) A SSE 支持双向通信 B SSE 基于 HTTP 单向流式推送,适合 AI token 逐段返回 ✓ 正确答案 C SSE 无法流式传输 D SSE 需要手动实现重连
# 43. MQTT 在 IoT 与 Web 实时消息的工程实践 A MQTT 是请求-响应模型 B MQTT 用发布/订阅模型,支持 QoS 等级,Web 端通过 over WebSocket 接入 ✓ 正确答案 C MQTT 不支持主题 D MQTT 无法保证消息可靠
# 44. Socket.IO 在自动降级与重连机制的工程价值 A Socket.IO 只支持 WebSocket,无法降级 B Socket.IO 不支持事件机制 C Socket.IO 需要手动实现重连 D Socket.IO 优先 WebSocket,支持自动降级与自动重连,屏蔽传输差异 ✓ 正确答案
# 45. WebSocket 的子协议(Subprotocols)在多业务复用的工程实践 A 子协议通过 Sec-WebSocket-Protocol 协商,多业务复用通常靠消息 type 字段路由 ✓ 正确答案 B 子协议只能支持一种业务 C 子协议无法协商 D WebSocket 连接不能承载多种业务
# 46. WebRTC 在点对点音视频与 DataChannel 的现代工程应用 A WebRTC 通过 RTCPeerConnection 传输音视频、DataChannel 传数据,需信令与 STUN/TURN ✓ 正确答案 B WebRTC 音视频必须经服务器中转 C WebRTC 无需信令 D DataChannel 无法传输文件
# 47. Long Polling 在不支持 WebSocket 环境的兼容性边界 A Long Polling 需要 WebSocket 支持 B Long Polling 实时性优于 WebSocket C Long Polling 基于 HTTP,兼容性最好,是 WebSocket 不可用时的降级方案 ✓ 正确答案 D Long Polling 无法在受限网络使用
# 48. WebTransport 的多流(Streams)与连接迁移的工程价值 A WebTransport 多流会互相阻塞 B WebTransport 与 WebSocket 能力相同 C WebTransport 无法连接迁移 D WebTransport 多流独立传输无队头阻塞,连接迁移让网络切换不中断 ✓ 正确答案
# 49. WebRTC 的 STUN/TURN/ICE 在 NAT 穿透的工程实践 A STUN 是中继,TURN 是探测地址 B ICE 与穿透无关 C STUN 探测公网地址,TURN 中继兜底,ICE 收集并选择候选路径 ✓ 正确答案 D TURN 无需服务器部署
# 50. WebSocket 在代理(nginx)反向代理的配置工程边界 A nginx 无需配置 Upgrade 头 B 默认超时即可支持长连接 C WebSocket 无法被 nginx 代理 D nginx 需转发 Upgrade 头、延长超时,多实例需粘性会话 ✓ 正确答案
# 51. MQTT over WebSocket 在浏览器端的连接与主题订阅的工程实践 A MQTT over WebSocket 无需 TLS B MQTT 无法订阅主题 C 浏览器用 MQTT.js 通过 WSS 连接 broker,订阅主题并处理消息,需处理重连与 QoS ✓ 正确答案 D 浏览器端 MQTT 只有单向
# 52. WebSocket 的多路复用(Multiplexing)相较 WebTransport 的取舍 A WebSocket 原生支持多路复用 B WebTransport 无法多路复用 C 两者能力完全一致 D WebTransport 原生多流无队头阻塞,WebSocket 多路复用需扩展实现,取舍是生态 vs 能力 ✓ 正确答案
# 53. DNS rebinding 攻击的原理,浏览器如何被诱导访问内网服务,Private Network Access(PNA/Local Network Access)与 Host 校验如何防御? A PNA 允许公网页面无限制访问内网 B DNS rebinding 利用域名解析变化绕过同源策略访问内网 ✓ 正确答案 C Host 校验与 DNS rebinding 无关 D DNS rebinding 无法访问内网
# 54. 实时通信在 5G 与低带宽环境的降级策略与可观测性 A 实时通信无需考虑网络状况 B 弱网下降级(自适应码率、压缩、重连)并监控网络质量指标,保障体验 ✓ 正确答案 C 可观测性与优化无关 D 5G 下无需降级策略
# 55. WebTransport 在 HTTP/3 与 QUIC 的浏览器兼容性工程边界 A 所有浏览器完整支持 WebTransport B WebTransport 无需安全上下文 C WebTransport 依赖 HTTP/3 与安全上下文,部分浏览器支持,需回退方案 ✓ 正确答案 D WebTransport 与浏览器无关
# 56. Socket.IO 的 namespace 与 room 在多业务隔离的工程应用 A namespace 隔离业务,room 分组并定向广播 ✓ 正确答案 B namespace 用于分组广播,room 用于业务隔离 C 两者功能完全相同 D Socket.IO 无法广播
# 57. WebSocket 在负载均衡(ALB、Envoy)下的粘性会话(sticky session) A 粘性会话无非必要 B WebSocket 长连接需粘性会话保持实例一致,或搭配消息总线扩展 ✓ 正确答案 C 负载均衡无需考虑 WebSocket D 粘性会话会让负载极均衡
# 58. SSE 的 Content-Type(text/event-stream)与缓存头的协作边界 A SSE 响应应使用 application/json B SSE 响应应使用 text/event-stream 并禁止缓存 ✓ 正确答案 C SSE 可被缓存 D 代理缓冲不影响 SSE
# 59. WebSocket 在 4G/Wi-Fi 切换、NAT 超时与代理服务器的心跳(ping/pong) A 心跳仅用于加密 B 心跳通过 ping/pong 保活并检测 NAT 超时/代理断开,配合重连保障稳定 ✓ 正确答案 C 心跳会占用大量带宽 D 网络切换不影响 WebSocket
# 60. WebSocket 的 Sec-WebSocket-Protocol 与 Sec-WebSocket-Key 握手机制在 WSS 的现代工程实践 A Sec-WebSocket-Key 用于协商子协议 B WSS 无需证书 C Sec-WebSocket-Key 挑战-响应用来验证握手,Sec-WebSocket-Protocol 协商子协议,WSS 用 TLS 加密 ✓ 正确答案 D 握手无需任何校验
# 61. WebRTC DataChannel 在 P2P 实时通信与 WebSocket 中继架构的取舍 A WebSocket 中继延迟比 P2P 低 B WebSocket 中继无带宽成本 C DataChannel 必须经服务器中转 D DataChannel P2P 直连低延迟省带宽,WebSocket 中继简单可靠但延迟高,常混合使用 ✓ 正确答案