WebSocket 是独立的、创建在 TCP 上的协议。

Websocket 通过HTTP/1.1 协议的101状态码进行握手。

为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)。

很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。

而比较新的技术去做轮询的效果是Comet。这种技术虽然可以双向通信,但依然需要反复发出请求。而且在Comet中,普遍采用的长链接,也会消耗服务器资源。

在这种情况下,HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

较少的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于HTTP请求每次都要携带完整的头部,此项开销显著减少了。

更强的实时性。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。

保持连接状态。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。

更好的二进制支持。Websocket定义了二进制帧,相对HTTP,可以更轻松地处理二进制内容。

可以支持扩展。Websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等。

更好的压缩效果。相对于HTTP压缩,Websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。

相关查询: WebSocket
最新查询:周雨馨 官夫人 白粥 本年度 1990.1 拓跋廓 垣根帝督 加勒比海避难所 榨菜肉末 圣撒迪厄斯教堂 文明岗 躁动不安 鞭毛虫 发展速度 露露情史 伸长细胞 路维希安的雪 大西北 洛阳 米开朗基利国际钢琴节 ٻի 小儿七星茶 坐牛 生产关系 万达·巴菲尔 犬小孢子菌 红烧鸡小肘 开放办 番茄花双拼 百团大购 黄凤鸡 河洛大鼓 2012张惠妹amazing巡回演唱会 中国近现代经济史教程 仪陇县审计局 不稳定性 全国穆斯林书画作品展组委会 xml格式 一汽大众车系维修案例精选 Compiler 缠绕在 财务分析与案例 絮絮叨叨 我可以让你富 一招制敌:徒手格斗大全 可可双色土司 东台市 修葺一新 宽容度 土壤湿度 日南响子 阿克苏教育学院 白金之星 派生存款 数字化放映 滑动变阻器 一览表 3dsmax9+PhotoshopCS2展览展示经典案例解析 丹尼尔•皮特里 琼林玉树 威斯预研菌毒素 浮世绘 最优化方法与程序设计 经济界 学术讨论会 芙蓉番茄 苍梧县 新民主主义 票据签章 五碓箐自然村 政治委员 中国企业怎么管 美丽的女人会保养 粪肠球菌 阿富汗 地下水循环 衣绣夜行 世界大战 电信网 WebSocket
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2025 haodianxin 百科 豫ICP备14030218号-3 消耗时间:0.016秒 内存2.82MB