键入网址到网页显示,期间发生了什么

键入网址到网页显示,期间发生了什么_第1张图片

  1. 解析URL并且生成相应的HTTP请求信息
    解析URL确定了Web服务器和文件名
    根据信息生成http请求,默认是get

  2. 查询服务器域名对应的IP地址
    域名中,越靠右的位置表示层级越高
    域名解析的工作流程:
    www.server.com
    1.所需客户端会去依次去浏览器缓存和路由器缓存中去询问域名对应的IP地址,有则返回,没有本地DNS去根DNS询问
    2.根DNS收到本地DNS的请求后,告诉com顶级域名服务器地址
    3.顶级域名服务器收到接着指示去server.com查找
    4.server.com的DNS服务器将对应的IP地址返回

  3. 将传输工作交给交给协议栈
    传输层、网络层、数据链路层、物理层

  4. tcp协议实现可靠性传输(传输层)
    http协议基于tcp协议,在tcp协议头部填上目标端口和目的端口号,在数据前面加上tcp头部,三次握手建立连接,如果https要继续加上三次握手ssl/tls

  5. IP协议实现远程定位(网络层)
    ip协议头部加上源ip和目标ip号。
    并且根据路由表中的Ip地址确定出一条合适的传输路径

  6. 局域网内两点传输MAC(数据链路层)
    在MAC头部填上源mac地址和目标mac地址
    接收方目标地址为路由器地址,一直在变化

  7. 交给网卡(物理层)
    网卡将数字信息转换成电信号

  8. 给交换机和路由器
    路由器基于以太网设计,三层网络设备,路由器各个端口具有MAC地址和IP地址
    交换机基于以太网设计,二层网络,不具有mac地址
    网络包传输过程中源IP和目标IP始终不变,一直变化的MAC地址,因为需要MAC地址在以太网内进行两个设备之间的包传输。

  9. 到达目的地
    先验证mac是否相符、然后验证IP,然后验证IP的端口和序列化。如果是想要的,继续加上TCP、IP、MAC头部,源地址IP和目标地址IP互换,发送回去。

你可能感兴趣的:(tcp/ip,http,udp)