发送请求获取服务器资源的成为客户端
互联网关联协议的集合
分层这玩意第一眼看到我是蒙逼的。分这么多层有啥用?但是仔细理解了一下,发现其实不难。
优点:易于维护,维护时只需将对应层级换掉即可。效率更高,层级之间分工明确。
应用层:网络应用所在的层,应用在这一层发送HTTP请求、DNS
传输层:
TCP所在的层。网络层建立连接之后,传输层负责如何可靠地传输数据(提供可靠的端到端服务)。把应用层发来的HTTP请求和数据进行分割,把对方传来的数据进行组装。对上层屏蔽底层网络的细节,让应用层更方便地使用网络。网络层:在数据节点之间创建逻辑链路,实现网络的逻辑关系(数据在节点之间怎么走)
链路层:实现物理设备基础上的数据连接,实现最基础的数据传输:01010101....
物理层:电线,光缆,硬件设备balabala...
应用层发出HTTP请求
传输层将请求报文进行分割
网络层添加目的地的MAC地址后转发给链路层(此时请求齐全)
链路层传输数据
——每一层添加一个首部,称为封装。
IP地址指明节点分配到的地址,MAC地址指明网卡的物理地址。
IP地址和MAC地址可以配对。IP地址可以变换,MAC地址不可变换。
TCP提供字节流服务:将大块数据分割为以报文段为单位的数据包进行管理
使用TCP的标致:SYN(synchronize同步)ACK(acknowledgement致谢)
一次握手:发送端将带有SYN数据包发给接收端,SYN在首部。同时附带一个名为Seq的标志,Seq一般值为1。
二次握手:接收端将标有SYN和ACK数据包发给发送端,ACK等于之前的Seq值加上1,同时再附带一个新的Seq。
三次握手:发送端将标有ACK数据包发回接收端,ACK同样等于上次的Seq加上1,并且再附带一个新的Seq。
DNS通过域名查询IP,或从IP反查域名。位于应用层
URI是一个包含URL和URN的定义,全程“Uniform Resource Identifier” “统一资标志符”。意思是定位一个网络上的资源,然后怎么去得到他。
URI统一资源定位器“Uniform Resource Locator”
URL永久资源定位符
HTTP协议中有明确的客户端和服务器。请求由客户端发出,最后由服务器响应该请求并返回。
HTTP是无状态协议,不保存之前的状态。
HTTP使用URI定位网上资源。