首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
SQL-Server
›
http和ws的区别
返回列表
发新帖
http和ws的区别
[复制链接]
发表于 2025-11-4 21:51:43
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
一. 毗连创建
1.HTTP:
(1)使用TCP协议创建毗连
(2)每次哀求都是独立的,纵然是同一用户的连续哀求,也会重复创建和断开毗连(除非使用了HTTP/2或恒久毗连)
(3)无状态协议。不生存状态信息,每次哀求都须要全部信息(包罗cookie等)来确定用户状态
2.
WebSocket:
(1)初次毗连时通过HTTP举行握手(HTTP 101状态码),之后升级为WebSocket协议
(2)一旦创建毗连,除非主动关闭,否则将保持毗连状态
(3)有状态毗连,保持恒久毗连,支持状态信息的恒久化传输,不需每次都通报全部信息
二.数据传输
1.
HTTP
:
(1)哀求-相应模子。客户端发起哀求,
服务器
相应哀求
(2)信息传输包罗较多的头部数据(HTTP headers),每次哀求都大概包罗重复的头信息
(3)实用于短毗连,传输完毕即断开
2.
WebSocket
(1)
双向通讯。一旦毗连创建,客户端和
服务器
可以相互发送消息,不须要等候对方发起哀求
(2)由于毗连的恒久保持,数据传输只需少量的头部信息(WebSocket帧头部),传输更加高效
(3)实用于长毗连,特别是须要频仍交互的应用,如实时谈天、游戏等
三.
性能
和服从
1.
HTTP
:
(1)由于每次哀求都须要创建和关闭毗连,
性能
开销较大
(2)适当低频率、一次性的数据哀求,不适当频仍交互
2.
WebSocket:
(1)
保持毗连状态,可以高效地举行频仍的数据传输
(2)
性能
高,耽误小,非常实用于实时性要求高的应用
四.示例
1.http:
GET /api/v1/resource HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/58.0.3029.110 Safari/537.3
Accept: application/json
Cookie: sessionId=abc123
<
服务器
响应>
HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: sessionId=abc123; Path=/
{
"data": "example"
}
复制
代码
2.
WebSocket:
// 握手请求
GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Version: 13
<服务器响应>
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
<数据传输>
客户端发送帧:
0x81 0x05 0x48 0x65 0x6C 0x6C 0x6F (代表 "Hello")
服务器回应帧:
0x81 0x06 0x57 0x6F 0x72 0x6C 0x64 0x21 (代表 "World!")
复制
代码
五.长毗连与短毗连
1.http:
(1)通常使用短毗连,每次哀求都会创建一次毗连,处置惩罚完后立刻关闭
(2)可以通过HTTP/1.1的恒久毗连(Keep-Alive)机制实现长毗连,但仍不适当频仍通讯
2.
WebSocket:
(1)
本质上是长毗连,一旦毗连创建,将连续到一方关闭毗连
(2)非常适当须要连续通讯的应用场景,如实时消息推送、在线协作等
六.应用场景
1.http:
(1)静态资源加载,如HTML、CSS、JavaScript文件
(2)
API
哀求和相应,如RESTful
API
调用
(3)实用于对实时性要求不高,且频次不高的通讯
2.
WebSocket:
(1)
实时通讯,如在线谈天、在线游戏
(2)实时数据推送,如股票行情、体育角逐直播
(3)在线协作工具,如Google Docs实时编辑、多人白板等
七.增补
1.HTTP:
用途
:重要用于哀求-相应模式的通讯,如欣赏网页、
API
调用等。
毗连方式
:基于哀求-相应模式。客户端(如欣赏器)向服务器发起哀求,服务器处置惩罚哀求并返反相应。
状态
:无状态。每次哀求都是独立的,不依靠其他哀求。
端口
:通常使用端口80(HTTP)和443(HTTPS)。
数据方向
:单向。客户端发起哀求,服务器返反相应。
头部信息
:每次哀求和相应都包罗大量头部信息,可以携带元数据。
2.
WebSocket:
用途
:用于创建恒久的、双向通讯通道,实用于实时应用,如谈天应用、在线游戏等。
毗连方式
:在初始的HTTP握手之后,毗连升级为WebSocket协议。握手乐成后,创建一个恒久的、全双工毗连。
状态
:有状态。毗连一旦创建,通讯双方保持毗连直到一方关闭。
端口
:通常使用端口80和443,但在握手之后毗连会升级为WebSocket。
数据方向
:双向。客户端和服务器可以相互发送消息,而不须要新建毗连。
头部信息
:初始握手时包罗HTTP头部信息,但创建毗连后,实际的消息传输较少头部信息,进步传输服从。
回复
使用道具
举报
返回列表
浏览过的版块
分布式数据库
DevOps与敏捷开发
Oracle
Java
SAAS
数据仓库与分析
人工智能
数据安全
物联网
涛声依旧在
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表