- 输入一个URL就是发送一个http请求
- 只有知道IP地址才能和服务器建立连接,所以需要进行域名解析
- 域名解析是先去本地查看有没有IP地址,如果没有DNS就会将请求发送给自己的默认网关,默认网关找到IP地址之后将IP返回给主机。
- 主机拿到IP地址,因为http是基于TCP的,TCP需要建立连接,建立连接之后给服务器发送数据包,http将数据包给传输层。
- 传输层给http数据包加报头,称为TCP数据报。
- TCP数据包给网络层,再加上IP报头,称为IP数据包
- 网络层将IP数据包交给数据链路层,数据链路层交给物理层
- 物理层通过双绞线将二进制字节流交给默认路由器,
- 路由器将数据链路层的数据帧拆成数据包
- 在路由器的网络层查看数据包中的目的IP地址和自己的iIP是否匹配,如果不匹配就去路由表查看,进行下一跳,如果每次都不匹配,就这样在网络中传输。
- 只有当某一个路由器打开数据包之后发现,目的IP和自己的本地IP一致,就说明服务器主机在这个局域网管辖的范围中。
- 如果路由器存储着目标主机的MAC地址,直接将数据发送给目标主机,否则进行一次ARP请求。
- 拿到了MAC地址,将数据发送给主机。
- 数据链路层将数据帧拆成数据包
- 在网络层:数据包解包成数据报
- TCP根据确认序号将拿到的http数据按顺序发给应用层
- 应用层处理之后返回一个http响应,通过同样的方式返回给源主机。
输入URL之后,敲回车会发生什么?
最新推荐文章于 2022-09-29 20:40:39 发布