最新文章专题视频专题关键字专题TAG最新视频文章视频文章2视频2tag2tag3文章专题问答问答2 文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
苹果手机怎么破解wifi密码 脱机使用打印机是什么意思 如何将你的手机变成WIFI热点 iPhone远程遥控电脑播放音乐图文教程 电脑网络不稳定怎么修复 如何用photoshop给图片添加水印 应用程序未知的软件异常(0xc06d007e)怎么办 农业银行K宝为什么插上不能直接跳出农行页面 淘宝保证金可以退吗?怎么退? 如何批量下载图片 微信怎么冻结或解冻账号 录音宝-录音轻松转文字 cad创建动态图块 win7屏幕保护在哪里及设置方法 怎么把蓝底照片P成红底 360安全卫士怎么显示开机时间 怎么更改Win7桌面图标的大小 win7占用空间过大 简单的为C盘瘦身 如何开启或关闭360加速球 音频服务未运行怎么办 如何在PS中将一张图片一次性裁剪保存成多张图片 CDR制作酷炫立体字效果 怎么让任务栏上的图标变大 电脑提示reboot and select proper boot device如何解决 通达信软件怎么自编公式 侠盗猎车手圣安地列斯泡妞秘籍 OFFICE2007兼容包怎么下载安装 如何备份手机数据 iPhone6s剪卡教程 教你如何正确剪卡 戴尔电脑一键恢复 PS如何调整曝光不足的图片 3dmax2014(3dsmax2014)官方简体中文(64位)安装图文教程、破解注册方法 如何让拍倒着的视频正过来 如何吃螃蟹啊 win7系统怎么将我的电脑放到桌面上 AI illustrator打造文字长阴影特效 淘宝客微信发单机器人微信群裂变流程 360浏览器如何让今日直播消失 大鱼号(原UC订阅号)自媒体平台的申请方法与流程介绍 电脑开机密码怎么破解
TCP/IP、Http、Socket的区别
2020-03-19 16:58:33 责编:小OO
网络是信息传输、接收、共享的虚拟平台,它用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。网络会借助文字阅读、图片查看、影音播放、下载传输、游戏聊天等软件工具从文字、图片、声音、视频,等方面给用户提供服务,具有多点性、连结性、交互性和快速性等特点。现代社会,网络已经是人们生活不可缺少的一部分。网络由下往上分为物理层、数据链路层、网络层( IP协议)、传输层( TCP协议)、会话层、表示层和应用层(HTTP协议),接下来我来说说其中的TCP/IP、Http、Socket的区别,供有需要的朋友参考:

方法

TCP/IP连接:
手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接,TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。
建立起一个TCP连接需要经过“三次握手”:
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(也就是服务器和客户端交互,最终确定断开)。

HTTP连接:
HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
2)在HTTP 1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。
由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

SOCKET原理
一、套接字(socket)概念
套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
二、建立socket连接
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。
服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

SOCKET连接与TCP/IP连接
创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。
socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:
“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也 可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”
我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。 实际上,Socket跟TCP/IP协议没有必然的联系。Socket编程接口在设计的时候,就希望也能适应其他的网络协议。所以说,Socket的出现 只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口,比如create、 listen、connect、accept、send、read和write等等。网络有一段关于socket和TCP/IP协议关系的说法比较容易理解:
“TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”
实际上,传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。socket是对端口通信开发的工具,它要更底层一些.

Socket连接与HTTP连接
由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致 Socket 连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。
而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

http协议是应用层的协议
有个比较形象的描述:HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
两个计算机之间的交流无非是两个端口之间的数据通信,具体的数据会以什么样的形式展现`是以不同的应用层协议来定义的`如HTTP`FTP`。

声明:本文由用户 佌亽、無解 上传分享,本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

显示全文
专题微软推出AI新算法,能够加快旧照片修复效率微软推出AI新算法,能够加快旧照片修复效率专题2022年的假期安排出炉,快来一起看看吧2022年的假期安排出炉,快来一起看看吧专题骑手摔猫引发热议,结果被永久封号骑手摔猫引发热议,结果被永久封号专题张一鸣身价594亿美元超腾讯马化腾,成中国互联网首富张一鸣身价594亿美元超腾讯马化腾,成中国互联网首富专题AI打造童话世界,引领科技生活AI打造童话世界,引领科技生活专题特斯拉公司CEO马斯克,给大众高管传授电动汽车经验特斯拉公司CEO马斯克,给大众高管传授电动汽车经验专题网友爆料蚂蚁森林未种植梭梭,官方辟谣网友爆料蚂蚁森林未种植梭梭,官方辟谣专题AI是否拥有著作权,进入人们的视野AI是否拥有著作权,进入人们的视野专题Twitter股价跌至超10%,创造近 6个月最大跌幅Twitter股价跌至超10%,创造近 6个月最大跌幅专题关于未来人工智能发展的三大预测关于未来人工智能发展的三大预测专题微博新增“炸毁”评论功能:只对自身个人隐藏微博新增“炸毁”评论功能:只对自身个人隐藏专题官方回应解决屏蔽网址链接等问题官方回应解决屏蔽网址链接等问题专题B站上线童年动画专区:重温童年经典B站上线童年动画专区:重温童年经典专题AI审美开始对我们的生活评头论足,影响着我们个性化审美AI审美开始对我们的生活评头论足,影响着我们个性化审美专题韩国电信 KT 对“网络瘫痪事件”正式道歉韩国电信 KT 对“网络瘫痪事件”正式道歉专题网约车车内监控视频引发热议,司机拒逆行遭表扬网约车车内监控视频引发热议,司机拒逆行遭表扬专题抖音直播开展打击低俗、不良价值观内容行动抖音直播开展打击低俗、不良价值观内容行动专题人脸识别AI技术,从梦想走进生活人脸识别AI技术,从梦想走进生活专题王小川告别搜狗,将进入医疗健康领域王小川告别搜狗,将进入医疗健康领域专题部分网约车平台开展非法营运,交通运输部等五部门联合约谈部分网约车平台开展非法营运,交通运输部等五部门联合约谈专题软银成立30亿美元,用来投资拉美科技公司软银成立30亿美元,用来投资拉美科技公司专题多家互联网集团取消大小周,小鹏汽车每天工作8小时多家互联网集团取消大小周,小鹏汽车每天工作8小时专题AI防“疫”,人工智能发挥了多少作用?AI防“疫”,人工智能发挥了多少作用?专题段永平回应“重出江湖联合OV造车”绝不会发生段永平回应“重出江湖联合OV造车”绝不会发生专题AI助力精准防控,帮助病例筛查、药物研发AI助力精准防控,帮助病例筛查、药物研发专题外卖骑手为消差评拿砖上门被刑拘,结果顾客没评论外卖骑手为消差评拿砖上门被刑拘,结果顾客没评论专题分析师认为马斯克将凭SpaceX成首位万亿富豪分析师认为马斯克将凭SpaceX成首位万亿富豪专题人脸识别技术应用应该刹刹车,划定好边界人脸识别技术应用应该刹刹车,划定好边界专题知名游戏主播山泥若二审宣判,被判刑3年并处罚金5万元知名游戏主播山泥若二审宣判,被判刑3年并处罚金5万元专题公租房小区被曝,超过10万元的豪车拒进公租房小区被曝,超过10万元的豪车拒进专题http三次握手和四次握手详解专题socket服务器专题http请求方法专题http请求过程专题http请求的get与post方式的区别专题socket和http的区别专题websocket和socket的区别专题http tcp ip通讯协议专题tcp ip专题socket和websocket专题socket长连接专题负载均衡专题c tcp ip socket 关系专题tcp ip http区别专题tcp/ip、http://socket.io的区别专题socket原理专题http请求头专题http协议状态码专题tcp4次挥手专题http协议教程专题