美文网首页
从输入url到打开网页发生了什么

从输入url到打开网页发生了什么

作者: 喵呜Yuri | 来源:发表于2019-09-26 11:20 被阅读0次
    image.png
    1.DNS解析

    解析顺序

    1) 浏览器缓存
      当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);
      2) 系统缓存
      当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;
      3) 路由器缓存
      当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;
      4) ISP(互联网服务提供商)DNS缓存
      当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;
      5) 根域名服务器
      当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;
      6) 顶级域名服务器
      顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;
      7) 主域名服务器
      主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;
      8)保存结果至缓存
      本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。

    2.TCP/IP请求

    三次握手的步骤:(抽象派)
    客户端:hello,你是server么?
    服务端:hello,我是server,你是client么
    客户端:yes,我是client
    建立连接成功后,接下来就正式传输数据

    然后,待到断开连接时,需要进行四次挥手(因为是全双工的,所以需要四次挥手)
    四次挥手的步骤:(抽象派)
    主动方:我已经关闭了向你那边的主动通道了,只能被动接收了
    被动方:收到通道关闭的信息
    被动方:那我也告诉你,我这边向你的主动通道也关闭了
    主动方:最后收到数据,之后双方无法通信

    tcp/ip的并发限制:浏览器对同一域名下并发的tcp连接是有限制的(2-10个不等)


    image.png
    3.简括就是:

    从应用层的发送http请求,到传输层通过三次握手建立tcp/ip连接,再到网络层的ip寻址,再到数据链路层的封装成帧,最后到物理层的利用物理介质传输。

    五层因特尔协议栈其实就是:
    1.应用层(dns,http) DNS解析成IP并发送http请求
    2.传输层(tcp,udp) 建立tcp连接(三次握手)
    3.网络层(IP,ARP) IP寻址
    4.数据链路层(PPP) 封装成帧
    5.物理层(利用物理介质传输比特流) 物理传输(然后传输的时候通过双绞线,电磁波等各种介质)
    当然,其实也有一个完整的OSI七层框架,与之相比,多了会话层、表示层。

    4.负载均衡

    而从服务器接收到请求到对应后台接收到请求会涉及到“负载均衡”。
    简单的说:
    用户发起的请求都指向调度服务器(反向代理服务器,譬如安装了nginx控制负载均衡),然后调度服务器根据实际的调度算法,分配不同的请求给对应集群中的服务器执行,然后调度器等待实际服务器的HTTP响应,并将它反馈给用户

    5.后台的处理

    &一般有的后端是有统一的验证的,如安全拦截,跨域验证
    &如果这一步不符合规则,就直接返回了相应的http报文(如拒绝请求等)
    &然后当验证通过后,才会进入实际的后台代码,此时是程序接收到请求,然后执行(譬如查询数据库,大量计算等等)
    &等程序执行完毕后,就会返回一个http响应包(一般这一步也会经过多层封装)
    &然后就是将这个包从后端发送到前端,完成交互

    附一张请求的http报文结构的图


    image.png

    。。。以后再补充

    相关文章

      网友评论

          本文标题:从输入url到打开网页发生了什么

          本文链接:https://www.haomeiwen.com/subject/swveoqtx.html