对网络协议的理解

首先,我们大学的时候读过OSI七层网络,包括物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中各层有各自的角色作用。

盗用一张图片

这里写图片描述
TCP/IP协议,包含了一组不同的协议,比如TCP、IP、UDP等等。

根据7层协议,Ip是属于网络层,用来告诉一个包该去往哪个节点。TCP协议则处于传输层,目的是确保这个包能一份不拉的到达对方手中。然后我们经常说的HTTP协议、FTP协议等就是应用层的东西,负责告诉用户我这个包是干什么用的。

TCP之所以可以可靠的传输内容,在于他有三次握手,然后才开始传输数据,相反,UDP则因为没有这个过程而无法保证数据不丢失,当然数据传输效率后者高于前者。当然程序员也可以通过自己手工加入校验机制确保udp的传输无误。

OK。搞清楚上面的之后,我们再来看下HTTP协议,这个协议是基于请求->获取信息->释放请求,这样一个步骤的。他是个短时间的东西,事情做完了,自然就释放资源了。所以我们用来请求一个网页信息,请求一个json字串。

Socket、这个是经常用到的东西,一个socket包含服务端和客户端,是个可以长时间存在的连接。本质上是对tcp协议的接口,因为我们不可能直接去调tcp。

一个socket服务端会经过绑定地址、监听、接受请求、建立连接、继续监听这样一个过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值