美文网首页理论知识
前端面试03:WebSocket 的实现和应用

前端面试03:WebSocket 的实现和应用

作者: 小小前端搬运工 | 来源:发表于2022-04-15 21:43 被阅读0次

(1) 什么是 WebSocket?

WebSocket 是 HTML5 中的协议,支持持久连续,http 协议不支持持久性连接。Http1.0 和 HTTP1.1 都不支持持久性的链接,HTTP1.1 中的 keep-alive,将多个 http 请求合并为 1 个

(2) WebSocket 是什么样的协议,具体有什么优点?

HTTP 的生命周期通过 Request 来界定,也就是 Request 一个 Response,那么在 Http1.0 协议中,这次 Http 请求就结束了。在 Http1.1 中进行了改进,是的有一个 connection:Keep-alive,也就是说,在一个 Http 连接中,可以发送多个 Request,接收多个 Response。

但是必须记住,在 Http 中一个 Request 只能对应有一个 Response,而且这个 Response 是被动的,不能主动发起。

WebSocket 是基于 Http 协议的,或者说借用了 Http 协议来完成一部分握手,在握手阶段与 Http 是相同的。我们来看一个 websocket 握手协议的实现,基本是 2 个属性,upgrade,connection。

基本请求如下:

GET /chat HTTP/1.1

Host: server.example.com

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==

Sec-WebSocket-Protocol: chat, superchat

Sec-WebSocket-Version: 13

Origin: http://example.com

多了下面 2 个属性:

1 Upgrade:webSocket

2 Connection:Upgrade

告诉服务器发送的是 websocket

1 Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==

2 Sec-WebSocket-Protocol: chat, superchat

3 Sec-WebSocket-Version: 13

相关文章

  • 前端面试03:WebSocket 的实现和应用

    (1) 什么是 WebSocket? WebSocket 是 HTML5 中的协议,支持持久连续,http 协议不...

  • WebSocket连接问题

    早有耳闻websocket在前端领域的应用,为什么要用websocket呢,因为它可以实现双向通讯,像http只能...

  • (二)数据推送之websocket

    介绍 websocket它是一种长连接,通过websocket我们能实现后端向前端推送数据,前端也可以向后端推送数...

  • 2021-05-07(不定时更新)

    前端面试2021.5.7第一:websocket知道吗?WebSocket 是 HTML5 开始提供的一种在单个 ...

  • WebSocket的实现原理

    WebSocket的实现原理 一、什么是websocket Websocket是应用层第七层上的一个应用层协议,它...

  • websocket 实现前端通讯实战

    本文介绍websocket实现前端通讯要实现通讯需要连接、发送、接收以及需要websocket服务器 我们来看一个...

  • websocket小记

    websocket可以实现消息的实时推送,应用较为广泛,在工作中可以结合大数据数据的推送,后台接收并推送到前端展示...

  • Websocket实现(前端)

    前端代码

  • WebSocket协议

    WebSocket是基于TCP的应用层协议,用于在C/S架构的应用中实现双向通信 WebSocket与Http的区...

  • 面试题01--待更新

    20180506 面试问题百度常用API前端性能优化前端安全问题websocket通信原理跨域问题:window...

网友评论

    本文标题:前端面试03:WebSocket 的实现和应用

    本文链接:https://www.haomeiwen.com/subject/eqoqertx.html