应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

一文梳理HTTPTCPSocket和WebSocket的区别

  一、OSI网络七层模型
  第一层:应用层,定义了用于在网络中进行通信和传输数据的接口;(Http协议位于该层)
  第二层:表示层,定义不同系统中数据的传输格式,编码和解码规范等;
  第三层:会话层,管理用户的会话,控制用户间逻辑连接的建立和中断;
  第四层:传输层,管理着网络中端到端的数据传输;(Tcp协议位于该层)
  第五层:网络层,定义网络设备间如何传输数据;(IP位于该层)
  第六层:链路层,将上面的网络层的数据包封装成数据帧,便于物理层传输;
  第七层:物理层,这一层主要就是传输这些二进制数据。二、TCP连接
  建立起一个TCP连接需要经过三次握手:第一次握手:客户端发送syn包(synj)到服务器,并进入SYNSEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ackj1),同时自己也发送一个SYN包(synk),即SYNACK包,此时服务器进入SYNRECV状态;第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ackk1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
  握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求。
  SYN攻击就是利用三次握手的第二次握手时进行的,这时候服务器处于SYNRECV状态,等待客户端进行确认ACK,SYN会伪造不存在的源IP,就会有大量的链接处于等待或重试发送SYNACK包,导致该阶段队列持续增长,进而导致后续正常请求被丢弃。三、HTTP连接
  HTTP协议即超文本传送协议(HypertextTransferProtocol),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。
  HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为一次连接。在HTTP1。0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。在HTTP1。1中,则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。
  由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种短连接。
  要保持客户端程序的在线状态,需要不断地向服务器发起连接请求,通常情况下即使不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次保持连接的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端在线。若服务器长时间无法收到客户端的请求,则认为客户端下线,若客户端长时间无法收到服务器的回复,则认为网络已经断开。四、SOCKET连接与HTTP连接
  通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致Socket连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。
  而HTTP连接使用的是请求响应的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
  很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在询问服务器是否有新的数据,如果有就将数据传给客户端。
  相关视频推荐
  看完《tcpip详解》不能coding的,一次课开启设计tcpip协议栈
  深入聊聊websocket协议,tcp分包与粘包解决方案
  学习地址:CCLinux服务器开发后台架构师【零声教育】学习视频教程腾讯课堂
  需要CCLinux服务器架构师学习资料加qun812855908获取(资料包括CC,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCPIP,协程,DPDK,ffmpeg等),免费分享
  五、SOCKET连接与TCPIP连接
  创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。
  socket则是对TCPIP协议的封装和应用(程序员层面上)。也可以说,TPCIP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。
  关于TCPIP和HTTP协议的关系,网络有一段比较容易理解的介绍:
  在传输数据时,可以只使用(传输层)TCPIP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCPIP做传输层协议将它发到网络上。
  平时说的最多的socket是什么呢,实际上socket是对TCPIP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,才能使用TCPIP协议。
  实际上,Socket跟TCPIP协议没有必然的联系。Socket编程接口在设计的时候,就希望也能适应其他的网络协议。所以说,Socket的出现只是使得程序员更方便地使用TCPIP协议栈而已,是对TCPIP协议的抽象,从而形成了一些最基本的函数接口,比如create、listen、connect、accept、send、read和write等等。
  TCPIP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCPIP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。
  实际上,传输层TCP是基于网络层IP协议的,而应用层HTTP协议又是基于传输层TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。
  总结:HTTP是应用层协议,定义的是传输数据的内容以及格式的规范。TCP是底层通讯协议,定义的是数据传输和连接方式的规范。Socket可以支持不同的传输层协议(TCPUDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接,Socket是发动机,提供了网络通信的能力六、什么是单工、半双工、全双工通信?单工:信息只能单向传送;半双工:信息能双向传送但不能同时双向传送;全双工:信息能够同时双向传送。七、WebSocket与Socket的关系
  Socket其实并不是一个协议,而是为了方便使用TCPUDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口。
  Socket是应用层与TCPIP协议族通信的中间软件抽象层,它是一组接口,提供一套调用TCPIP协议的API。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCPIP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
  当两台主机通信时,必须通过Socket连接,Socket则利用TCPIP协议建立TCP连接。TCP连接则更依靠于底层的IP协议,IP协议的连接则依赖于链路层等更低层次。
  WebSocket就像HTTP一样,是一个典型的应用层协议。
  总结:Socket是传输控制层接口,WebSocket是应用层协议。八、WebSocket与HTTP的关系
  WebSocket是HTML5规范提出的一种协议。HTML5WebSockets规范定义了WebSocketsAPI,支持页面使用WebSocket协议与远程主机进行全双工的通信。它引入了WebSocket接口并且定义了一个全双工的通信通道,通过一个单一的套接字在Web上进行操作。
  HTML5WebSockets以最小的开销高效地提供了Web连接。相较于经常需要使用推送实时数据到客户端甚至通过维护两个HTTP连接来模拟全双工连接的旧的轮询或长轮询(Comet)来说,这就极大的减少了不必要的网络流量与延迟。
  相同点:都是一样基于TCP的,都是可靠性传输协议。都是应用层协议。
  不同点:WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。WebSocket是需要浏览器和服务器握手进行建立连接的。而http是浏览器发起向服务器的连接,服务器预先并不知道这个连接。
  联系:WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。
  WebSocket连接的过程:客户端发起http请求,经过3次握手后,建立起TCP连接;http请求里存放WebSocket支持的版本号等信息,如:Upgrade、Connection、WebSocketVersion等;服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据;客户端收到连接成功的消息后,开始借助于TCP传输信道进行全双工通信。
  总结:在WebSocket中,只需要服务器和浏览器通过HTTP协议进行一个握手的动作,然后单独建立一条TCP通信通道进行数据传送。

身价110亿的亿万富豪摊上事了,被举报诈骗,谁来救救万通发展身价110亿的亿万富豪摊上大事了。近日,网传多方向有关部门提交举报材料称,A股上市公司万通发展(600246。SH)的董事长和实控人王忆会涉嫌诈骗。笔者了解到的就有一家企……马云的人生智慧,保持宠辱不惊才能走得长远马云有一段演讲别人说你好的时候,你要知道你没那么好。别人说你坏的时候,你要想想,其实我们还可以了。几年以前,大家都认为阿里巴巴很糟糕,商业模式不行,这个技术不行,服务不行……国潮盛行,看ABCKIDS如何定义童装国潮新风尚?国潮流行国潮回归已然成为新时代潮流大势。近年来,搭载东方艺术之美、融合中国元素的国潮产品广受好评,展示了当代年轻一族对于中国文化的喜爱。国潮正在以一种软性文化连接品牌价值观的方……中超联赛,广东队四川队年月日,广东广州,中超联赛第十五轮,广州对四川队,进球后的罗幕洛。罗慕洛进球的瞬间罗慕洛庆祝进球罗慕洛进球的精彩瞬间罗幕洛庆祝进球图片来源于网络,……泰山30胜广州,格雷桑棒,刘洋独,郭田雨窝囊,球队勉强合格面对助教都上场的广州全华班,山东队打得不积极不主动,步行者式的打法十分难看,如果不是3个进球,本场是不及格的!主教练郝伟面对弱旅能够主动求变,首发敢于派上替补李海龙,又让……杨幂的8张美图,张张皆是珍藏款1。我从冰激凌偷出了夏天,也想在你眼中窃取爱意。有你的青春是一场大雨,即使感冒了,还盼望回头再淋它一次。2。你是这世间一切美好事情的前提,你是人间这不毛之地的高楼林立,你……朋友圈简短又暗含深意的文案,句句走心一、世界上没有真相,你信什么,什么就是真相。二、这条路到是味谓也畏。三、冰封的地,培育出万朵怒放的蔷薇。四、要有遥不可及的梦想,也要有脚踏实地的本事。五……北京第三批供地揽金超500亿,土地市场回温迹象明显9月23日,北京今年第三批集中供地收官。8宗地块的现场竞拍从早上持续到下午,最终收金343。5亿元。至此,北京本批次的18宗地块均顺利出让,总成交价约500。3亿元。其中,4宗……放开限购已经成为鸡肋,一线城市为何不放开限购?看完你就理解了在中国人的心目中,投资房地产是稳赚不赔的买卖。身边也有很多人因为前几年投资了房地产,现在都赚得盆满钵满。一个粉丝透露,他们家2014年的时候,他们家拆迁,儿子拿了五十万去……心动的信号5嘉宾秀球技,海信新风空调AI语音增氧焕新来护航《心动的信号5》第四期上线准时登陆腾讯视频与大家见面!本期孟子义作为连任探长再次带领大家展开推理,minidate首次开启让节目持续高甜,海信新风空调也与心动侦探团在浪漫轻松的……家长如何早期发现颅缝早闭?十月怀胎,一朝分娩,我相信每个妈妈都会拼尽全力去照顾好自己的宝宝。可是很多时候我们都无法预料疾病的到来,所以我们只能通过不断的学习去了解和认识疾病,这样才能更好的预防和保护好我……24号碎片商店突变,留88碎片巨赚,新传说2选1,李白吕布笑可乐要加冰,乔妹在你心,大家好我是小乔妹,每天为您分享有趣的王者荣耀新皮肤、新版本,最新攻略等文章内容。王者荣耀此次22号正式服更新新赛季后,上线了全新的版本机制,还有新……
豆浆VS牛奶,谁才是真正的补钙高手?春天补钙,一定避开这4个有人说,春天不补钙,错过一整年。春季因为阳光好,户外活动多,食材正当时,被认为是长高的黄金期,也常常被认为是补钙的黄金时期。01hr春季补钙事半功倍1hr时令蔬果多……快看!上海地铁高铁有萌萌的机器人出没!它们都在做什么?地铁的巡检机器人,铁路部门推出的消毒机器人和高铁商品配送机器人。。。。。。近年来,在我们身边,有不少身处幕后的智能机器人用他们各自具备的硬核科技默默地保障市民的出行,也让不少工……山东欧米奇配方分享会膨胀的空心糖饼,酥脆香甜!空心糖饼原创作者霍小小材料准备:食材用料中筋面粉300g温水160g食盐2g玉米油15g馅料:……美丽守护想打肉毒素?这些事情首先要知道哦!皱皱:哎!才30岁,眼角就开始有皱纹了,真烦心!纹纹:你才几岁,到我这40岁,额头纹也来了,更显老,真想把这些道道熨平!皱皱:听说很多明星都在用一种叫肉毒素的东西打……意康德道地食材传道之新会陈皮药材好,药才好。意康德只做道地的滋补食材。1陈皮的历史渊源1、最早记载:《神农本草经》是对陈皮(橘柚)最早记载的医书:橘柚,味辛、温。主胸中瘕热逆……医生建议这3种伤肝的蔬菜,肝不好的人最好少吃,或会损伤肝脏肝脏作为我们人体内最重要的解毒排毒的器官,被称为是人体清洁工,若是我们的肝脏受到了损伤,我们人体的健康也将受到极大的影响。尤其是近些年来,生活中越来越多的人,因为长期养成的一些……在银河系中心,科学家发现了神秘无线电信号,可能来自未知天体银河系是一个直径约20万光年的棒旋星系,我们所在的太阳系则位于银河系的一个旋臂猎户臂之上,距离银心2。6万光年。由于银河系中心有着一颗质量非常巨大的黑洞,距离银心越近的区域,恒……S12全球总决赛举办地公布将重回北美,决赛定在金州勇士队主场11月22日凌晨,拳头就2021年全球总决赛取得的战果以及2022年全球总决赛展开记者会,在这次记者会上,拳头的全球电竞相关负责人也透露了2022年世界赛举办地的一些信息,在连……人类是如何一步步了解原子的?自从原子被发现以来,几个世纪里,科学家和哲学家都对它进行了深入的研究。随着科技的进步,人类的观测能力变得越来越强,越来越微小的东西被看到,人们开始意识到还有很多东西要学习。……戚薇怀二胎后罕晒全身照,穿粉色蓬蓬裙不显孕肚,衣品却被吐槽提到戚薇的名字,想必大家并不陌生吧,与李承铉结婚之后,两人拥有一个女儿,并且目前戚薇已怀二胎,接下来将迎接一家4口的温馨场面。即使怀孕的戚薇在工作上也毫不松懈,经常在社交……愿你这一生既有随处可栖的江湖,也有追风逐梦的骁勇,开工大吉。开工大吉愿你以渺小启程,以伟大结束开工大吉!奋斗的新一年开始啦!你今天的努力,是幸运的伏笔,当下的付出,是明日的花开。即使现在还看不到成果,请不要着急……盘点中国56个绝美之地,每一处都是独一无二的存在,你去过几个在每个人的年岁里,都曾有过一段关于旅行的憧憬,一段说走就走的旅行。可是在现实里,因为种种的原因,这个美好的希冀变,成了每个午夜梦回的美好梦想。如果你还没有踏上那条梦寐的旅途,今……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网