之前从客户端与服务器的角度分析了网址访问,今天我们从计算机网络体系结构的角度分析一下,当你在浏览器的网址栏输入一个网址并按下Enter键之后,具体发生了哪些事?
当用户输入一个网址并按下Enter键之后:
1.首先,应用层协议对该请求做了格式的定义;
2.紧接着传输层协议在传输的数据上加了通信双方的端口号,确定了通信的应用程序;
3.然后网络层协议在数据上附加了通信双方的IP地址,确认了通信双方的网络位置;
4.最后数据链路层协议附加上了通信双方的Mac地址,确认了通信双方的物理位置,同时对数据进行了分组,形成了数据帧,并以广播的方式传给物理层;
5.在物理层数据通过传输介质发送到对方主机。
强调一下,对于不同的网段,数据包首先会转发给网关路由器,经过多次转发后,最终会被发送到目标主机。
当目标主机接收到数据包后,采用对等的协议,对帧数据进行重新组装,然后再通过一层一层的协议进行解析,最终会被应用层的协议解析并交给服务器处理。
当服务器处理完之后,会将处理结果按照一定的格式返回给客户端,而这样的过程基本上与请求到达服务器的步骤相类似。