zoukankan      html  css  js  c++  java
  • 从浏览器输入url到页面显示中间过程详解(1)

    当你在浏览器的地址栏输入你要访问的域名,然后按Enter后,浏览器在发起http请求前,浏览器首先需要解析这个域名,找到这个域名对应的ip地址。这个过程就是dns解析,解析过程分为以下几步。

    1)浏览器先查询hosts文件是否有与这个域名对应的ip地址,如果有则直接向这个ip地址发起http请求。查询不到就进行第二步。

    2)浏览器向本地DNS服务器发出解析域名的DNS解析报文,本地DNS服务器收到请求后,先查询缓存,判断是否有对应的记录,如果有就返回这条记录,查询不到就进行第三步。

    3)本地DNS服务器没有在缓存中查询到对应的记录,本地DNS服务器于是就向DNS根服务器发起查询请求。DNS根服务器收到请求通过查询得到顶级域名对应的顶级域服务器的ip地址,然后向本地DNS服务器发送一条应答报文。

    4)本地DNS服务器收到应答报文后,得到顶级域服务器的地址,然后向该地址发送请求解析域名的DNS请求报文。

    5)顶级域名服务器在收到请求后先查询缓存是否有对应的记录,如果有就返回对应的记录,如果没有找到就查询域名对应的二级域服务器地址,然后将域名对应的二级域服务器地址返回给本地DNS服务器。

    6)本地DNS服务器收到应答报文后,得到二级域服务器的地址,然后向该地址发送请求解析域名的DNS请求报文。

    7)二级域服务器在收到请求后先查询缓存是否有对应的记录,如果有就返回对应的记录,如果没有找到就查询域名对应的三级域服务器地址,然后将域名对应的三级域服务器地址返回给本地DNS服务器。

    8)本地DNS服务器收到应答报文后,得到三级域服务器的地址,然后向该地址发送请求解析域名的DNS请求报文。

    9)三级域服务器在收到请求后在DNS区域数据库中查询对应的记录,返回对应的记录

    10)本地名称服务器在收到三级域服务器后,向用户返回一条DNS应答报文,并将这条记录保存在缓存中

    11)浏览器就得到了域名对应的ip地址,然后就可以发起http请求了

  • 相关阅读:
    hdu_6836 Expectation
    hdu_6820 Tree
    luogu P1039 侦探推理
    自己动手实现区块链
    第六章 钱包管理界面和区块链浏览器
    第五章 自己动手写比特币之交易中继
    第四章 自己动手写比特币之钱包
    第三章 自己动手写区块链之交易
    第二章 工作量证明和挖矿
    第一章:最小可行区块链
  • 原文地址:https://www.cnblogs.com/yangwenxin/p/8515888.html
Copyright © 2011-2022 走看看