幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

网络TCPUDPHTTPHTTPS一文足矣

  一、简介
  TCP、UDP、HTTP、HTTPS都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则说话,对方才能理解或为之服务。二、TCP、UDP、HTTP、HTTPS之间的关系
  TCPIP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。
  在网络层,有IP协议、ICMP协议、ARP协议、RARP协议等。
  在传输层,有TCP协议与UDP协议。
  在应用层,有WebSocket、FTP、HTTP、TELNET、SMTP、DNS等协议。
  而HTTPS可以理解为更安全的HTTP协议。
  因此,TCP、UDP、HTTP、HTTPS都是通信协议,只不过它们所在的层级不同,负责的工作也不同,并且HTTP是基于TCP实现的。三、Socket通信
  Socket是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程,双方进程通过Socket进行通信,而通信的规则采用指定的协议。Socket只是一种连接模式,不是协议。TCP、UDP,简单的说(虽然不准确)是两个基本的协议,很多其它协议都是基于这两个协议,如HTTP就是基于TCP的。用Socket可以创建TCP连接,也可以创建UDP连接,这意味着,用Socket可以创建任何协议的连接,因为其它协议都是基于此的。四、TCP协议
  TCP的建立连接协议又称之为三次握手:
  第一次握手:建立连接时,客户端发送SYN包(syni)到服务器,并进入SYNSEND状态,等待服务器确认。
  第二次握手:服务器收到客户端发来的SYN包,必须对客户端进行确认ACK(acki1),同时服务器也发送一个SYN包(synj)到客户端,即服务器会发送SYNACK包,此时服务器进入SYNRECV状态。
  第三次握手:客户端收到服务器发送的SYNACK包,向服务器发送确认包ACK(ackj1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
  为什么需要三次握手
  第一个原因:初始化Seq,TCP通信是有序的,通信双方要通知对方自己的Seq值,也就是上图中的X和Y,这个值要作为之后数据通信的序号,以保证应用层接受到数据不会因网络延时等原因而乱序,TCP会用Seq来拼接数据。
  第二个原因:在谢希仁版《计算机网络》第四版中讲三次握手的目的是为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。在另一部经典的《计算机网络》一书中讲三次握手的目的是为了解决网络中存在延迟的重复分组的问题。这两种不同的表述其实阐明的是同一个问题。
  谢希仁版《计算机网络》中的例子是这样的,已失效的连接请求报文段的产生在这样一种情况下:Client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达Server。本来这是一个早已失效的报文段。但Server收到此失效的连接请求报文段后,就误认为是Client再次发出的一个新的连接请求。于是就向Client发出确认报文段,同意建立连接。
  假设不采用三次握手,那么只要Server发出确认,新的连接就建立了。由于现在Client并没有发出建立连接的请求,因此不会理睬Server的确认,也不会向Server发送数据。但Server却以为新的运输连接已经建立,并一直等待Client发来数据。这样,Server的很多资源就白白浪费掉了。
  四次挥手过程
  由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,而对方仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。服务器收到这个FIN,发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。服务器关闭客户端的连接,发送一个FIN给客户端。客户段发回ACK报文确认,并将确认序号设置为收到序号加1。
  为什么需要四次挥手
  那可能有人会有疑问,在TCP连接握手时为何ACK是和SYN一起发送,这里ACK却没有和FIN一起发送呢?
  原因是因为TCP是全双工模式,接收到FIN时意味将没有数据再发来,但是还是可以继续发送数据。同时发送双方都需要发送FIN报文和ACK报文,加起来就是四次了。
  TIMEWAIT状态
  在四次挥手的最后一次挥手中,主动断开方在发送最后一个ACK后,不能立刻关闭,而是需要等待2MSL后才能关闭,这是为什么呢?同时这也是面试中常提到的一个问题。原因如下:
  假设发起主动关闭的一方(Client)最后发送的ACK在网络中丢失,由于TCP协议的重传机制,被动关闭的一方将会重发FIN,在该FIN到达Client之前,Client必须维护这条连接状态,也就说这条TCP连接所对应的资源不能被立即释放或重新分配,直到另一方重发的FIN达到之后,Client重发ACK后,经过2MSL时间周期没有再收到另一方的FIN之后,该TCP连接才能CLOSED。
  如果主动关闭一方不维护这样一个TIMEWAIT状态,那么当被动关闭一方重发的FIN到达时,主动关闭一方的TCP传输层会用RST包响应对方,这会被对方认为是有错误发生,然而这事实上只是正常的关闭连接过程,并非异常。
  TCP粘包拆包
  TCP是基于字节流的,虽然应用层和TCP传输层之间的数据交互是大小不等的数据块,但是TCP把这些数据块仅仅看成一连串无结构的字节流,没有边界;另外从TCP的帧结构也可以看出,在TCP的首部没有表示数据长度的字段,基于上面两点,在使用TCP传输数据时,才有粘包或者拆包现象发生的可能。
  粘包、拆包发生原因
  发生TCP粘包或拆包有很多原因,现列出常见的几点:要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包。接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。
  粘包、拆包解决办法
  通过以上分析,我们清楚了粘包或拆包发生的原因,那么如何解决这个问题呢?解决问题的关键在于如何给每个数据包添加边界信息,常用的方法有如下几个:
  1、发送端给每个数据包添加包首部,首部中应该至少包含数据包的长度,这样接收端在接收到数据后,通过读取包首部的长度字段,便知道每一个数据包的实际长度了。
  2、发送端将每个数据包封装为固定长度(不够的可以通过补0填充),这样接收端每次从接收缓冲区中读取固定长度的数据就自然而然的把每个数据包拆分开来。
  3、可以在数据包之间设置边界,如添加特殊符号,这样,接收端通过这个边界就可以将不同的数据包拆分开。
  那么UDP是否会发生粘包或拆包的现象呢?
  答案是:不会。UDP是基于报文发送的,从UDP的帧结构可以看出,在UDP首部采用了16bit来指示UDP数据报文的长度,因此在应用层能很好的将不同的数据报文区分开,从而避免粘包和拆包的问题。五、什么是HTTP协议
  HTTP全称是HyperTextTransferProtocal,即:超文本传输协议。从1990年开始就在WWW上广泛应用,是现今在WWW上应用最多的协议。HTTP是应用层协议,当你上网浏览网页的时候,浏览器和Web服务器之间就会通过HTTP在Internet上进行数据的发送和接收。HTTP是一个基于请求响应模式的、无状态的协议,即我们通常所说的RequestResponse。
  先看看请求(Request)报文:
  请求(Request)报文请求行请求头空行请求体
  请求行中包含请求方法,常见的请求方法有:
  GET:获取资源,当前网络请求中,绝大部分使用的是GET方法。
  POST:传输实体主体,POST主要用来传输数据,而GET主要用来获取资源。
  PUT:上传文件,由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。
  DELETE:删除文件,与PUT功能相反,并且同样不带验证机制。
  HEAD:获取报文首部,和GET方法类似,但是不返回报文实体主体部分。主要用于确认URL的有效性以及资源更新的日期时间等
  响应(Response)报文状态行响应头空行响应体
  其中,状态行包含响应的状态,常见的状态如下:
  1XX信息100Continue:表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。
  2XX成功200OK204NoContent:请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。206PartialContent:表示客户端进行了范围请求,响应报文包含由ContentRange指定范围的实体内容。
  3XX重定向301MovedPermanently:永久性重定向302Found:临时性重定向303SeeOther:和302有着相同的功能,但是303明确要求客户端应该采用GET方法获取资源。注:虽然HTTP协议规定301、302状态下重定向时不允许把POST方法改成GET方法,但是大多数浏览器都会在301、302和303状态下的重定向把POST方法改成GET方法。304NotModified:如果请求报文首部包含一些条件,例如:IfMatch,IfModifiedSince,IfNoneMatch,IfRange,IfUnmodifiedSince,如果不满足条件,则服务器会返回304状态码。307TemporaryRedirect:临时重定向,与302的含义类似,但是307要求浏览器不会把重定向请求的POST方法改成GET方法。
  4XX客户端错误400BadRequest:请求报文中存在语法错误。401Unauthorized:该状态码表示发送的请求需要有认证信息(BASIC认证、DIGEST认证)。如果之前已进行过一次请求,则表示用户认证失败。403Forbidden:请求被拒绝。404NotFound
  5XX服务器错误500InternalServerError:服务器正在执行请求时发生错误。503ServiceUnavailable:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
  HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:建立TCP连接
  在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCPIP协议族,因此Internet又被称作是TCPIP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80Web浏览器向Web服务器发送请求命令
  一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GETsamplehello。jspHTTP1。1。Web浏览器发送请求头信息
  浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。Web服务器应答
  客户机向服务器发出请求后,服务器会客户机回送应答,HTTP1。1200OK,应答的第一部分是协议的版本号和应答状态码Web服务器发送应答头信息
  正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。Web服务器向浏览器发送数据
  Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以ContentType应答头信息所描述的格式发送用户所请求的实际数据Web服务器关闭TCP连接
  一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行Connection:keepalive,TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。六、HTTPS的工作原理
  HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLSSSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLSSSL中使用了非对称加密、对称加密以及HASH算法。握手过程的具体描述如下:浏览器将自己支持的一套加密规则发送给网站。网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。浏览器获得网站证书之后浏览器要做以下工作:
  a)验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。
  b)如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
  c)使用约定好的HASH算法计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。网站接收浏览器发来的数据之后要做以下的操作:
  a)使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。
  b)使用密码加密一段握手消息,发送给浏览器。浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。
  简单的说:HTTPS使用对称加密的方法通信,秘钥为Key。但是为了安全的把秘钥Key发送给对方,于是在通信前,使用非对称加密的方法加密Key。
  这样做的目的是:非对称加密的安全性更强,但是加解密过程复杂耗时,对称加密的加解密过程简单,但安全性不强,于是HTTPS综合两种加密方式,既保证了安全性,又保证了效率。
  HTTPS协议和HTTP协议的区别:HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费。HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。HTTP和HTTPS使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。HTTP的连接很简单,是无状态的。HTTPS协议是由SSLHTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全。
  文章来源:小道萧兮https:www。jianshu。comp8153b6d3a3e8

全国买药账单出炉这地中成药占比9成以上过去3年,抗击新冠疫情的背景下,不少中成药一度卖光断货。几款频上热搜的明星药背后是万亿级的市场。2021年全国医药商品销售总额达到2。6万亿元,比2020年增长了8。5,……藏历年期间,拉萨这些景点免费!西藏卫视藏历年临近七天小长假各位小伙伴都想好去哪儿玩了吗赶紧看过来小布带你去拉萨这些免费景点打卡罗布林卡罗布林卡免费对外开放,对想看罗……疯狂一夜!20队达成12笔交易,湖人快船大获成功,76人省钱北京时间2月10日,NBA交易截止日正式落下帷幕,在这一夜当中也是有20支球队参与其中,共达成了12笔交易。而在疯狂一夜之前,威少和杜兰特的交易就已经推上了高潮,如今这些也都算……为什么父母都有偏心的情况发生头条创作挑战赛家长百问百答头号解忧馆并不是所有的父母都是完美的父母,在孩子众多的家庭里偏心在所难免。十个手指还不一般长呢,如果父母处理得好就会平安无事,否则便家庭会矛盾重……雷丁汽车,转型界的试验品日前,关于雷丁汽车创始人李国欣实名举报当地官员的视频上了热搜,直指某官员拒绝为企业续贷、逼迫企业虚报产值、不愿给企业融资进行担保等行为。虽然我们暂时无法知晓真相,但雷丁汽车目前……微信只用来聊天?那太浪费了,这6大天花板玩法,可谓是绝绝子微信并不只有聊天和阅读的功能,还有很多隐藏的小技巧,能够让我们在工作中更加高效。我今天分享的,微信6大天花板玩法,至少有3个你不知道,不信的话,我们继续往下看看!1……人体可以三个星期不进食,三天不喝水,没有氧气连三分钟都撑不过可以这么说,每个人都是一大堆细胞的集合体。人体细胞约有40万亿60万亿个,比银河系的星星还多,每个人都是一个独一无二的宇宙。不管是神经细胞、皮肤细胞还是脑细胞,人体……除了流浪地球还有流量月球!多国酝酿探月计划月球究竟有着怎样的魅力,让人类始终心向往之?当各国纷纷列出自己的探月计划,它们又在期待和探寻着什么?这是个人的一小步,却是人类的一大步。1969年美国宇航员阿姆斯特朗登上……宁波樱花提前预告,四明山即将被樱花席卷,今年不要再错过了!聆听着《马》春天啊!暖阳啊!你快些来吧!驶过四明大桥,脑海中浮现到春日的暖阳洒落山涧,花期如约而至属于春天的浪漫已慢慢地悄悄地浮现于四明山中,花有约春不误,繁花锦绽芬芳,提前预……不会演土别硬演,5位演员告诉你,一哭二闹三上吊最实在近几年关于农村气息的影视剧不断上升,《人世间》《风吹半夏》《幸福到万家》,还有《我们的日子》都在热播中。但农村剧里有些演员们,演得不像农村女,演不出小媳妇的土气。角……当前收视率最高的五部剧,狂飙跌出前三,第一收视高达3。291从相关数据显示可知,2月7日晚(19时30分22时00分)热播国产电视剧中,收视率最高的五部剧分别如下:1、《女士的品格》收视:3。291主演:万茜、刘敏涛……如何使用魔法消除笔?三步教会你如何使用魔法消除笔?春天到了,万物复苏,人们又可以外出踏青了。在一些风景很好的地方,总会有很多的人去拍照。当大家都去拍照的话,难免会有很多杂物或者是其他人的背景入镜,会影响拍摄……
中国车市整体走势与内部格局演变探究原创周丽君读而思中国乘用车市场看着挺小,2021年终端销量超过10万辆的品牌不足40个,超过50万辆的不足15个,超过100万辆的仅有5个,但这些车企几乎都是地方纳……冬奥之约丨闭幕式演员王邦樱国歌响起时,眼眶里的泪水一直在打转80名女生款款走出,脚下拖带出一枝枝柳条,同时在屏幕上画出垂柳图,当微风吹起时,柳絮飘飘起舞。365位不同年龄、不同职业的人,怀抱晶莹发光的柳枝缓缓向场地中央汇聚。在2022北……开春不知道怎样穿?用粉色毛衣搭配这几条下装,真的封神了开春不知道怎样穿的小姐妹们,可以看一看下面的内容了,陪大家从冬天走到春天,这篇文章中的造型是迄今为止最令我满意的。用小女人十足的粉色针织毛衣搭配不同的下装,唯美秀气又有女人味,……全明星首发官宣!詹姆斯杜兰特蝉联队长莫兰特维金斯首次入选北京时间1月28日,NBA官方公布了2022年全明星赛的首发阵容。东部首发是特雷杨、德罗赞、杜兰特、字母哥和恩比德,西部首发是库里、莫兰特、詹姆斯、约基奇和维金斯。詹姆斯成为本……夜空中这只浪漫而又魔幻的ampampquot大眼睛ampam海报制作:安宁(资料照片来自北京市天文爱好者刘彬)银河拱桥常见,银河之眼则不常见。天文科普专家介绍,4月26日凌晨,观测银河之眼迎来一次良机,届时,月亮会从银河拱桥正下方……保存猪肉,不要直接塞进冰箱,教你一个妙招,放半年依旧新鲜好吃导语:保存猪肉,不要直接塞进冰箱,教你一个妙招,放半年依旧新鲜好吃猪肉是我们常吃的一种肉类,如今价格便宜了,我们随时都会把它做成美味菜肴摆上餐桌。我家就很喜欢吃猪肉,几乎……姜昆24年前,不顾妻子反对收养6岁遗孤,如今养子成了他的骄傲他的庸俗的东西,低级的东西,赶紧要把它扬弃。我想(郭德纲)很难能够攀登艺术上那个高峰,很难能够在艺术之殿中,有你自己的身影。如今提到姜昆,大家第一时间想到的,必然是他和另……年少不轻狂,敢叫特雷杨?老鹰的系列赛看上去希望渺茫,他们在前两战被热火击败,卡佩拉缺席让球队内线少掉了重要一环,即便科林斯复出似乎也难以改变局面。巴特勒在两个出场交出了极佳的表现,33分5。5篮……四川盆地到底是火山口还是陨石坑?它的经历要比这两种复杂得多晓看红湿处,花重锦官城。四川一直有着天府之国的美誉,这里风景秀美,峨眉山、青城山、达古冰川等著名旅游景点都坐落于此,春日百花争艳,夏日一一风荷举,秋日无边落木萧萧下,冬日大雪满……美的顶侧双吸集成灶LS5,用科技之光点亮健康烹饪新厨房厨房,承载着平淡时光里的人间烟火。煎炒蒸烤炸,端起人间美味的同时,大多数人对于厨房的需求也在不断升级,智能集成化、无烟化成为构建厨房新生态的关键。美的厨电作为行业的头部品牌,顺……元宇宙内容开发,一起来开启全新可可托海的牧羊之旅在元宇宙迅速发展的时代,以虚拟人和虚拟场景为基础的平行世界的应用必定大有市场,将得到快速增长,深圳市精敏数字机器有限公司顺应市场需求和时代发展趋势,研发建设一个有草原,湖泊、蒙……隔夜茶,毒如蛇?不敢喝隔夜茶的人看看,央视实验告诉你真相对于我们大多数人来说,茶叶是我们最为熟悉的日常用品,在我们国家甚至有不少人非常喜欢喝茶,根据历史记载,我们国家是世界上茶叶文化最为悠久的国家之一,在长期的历史发展过程之中,我们……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网