zoukankan      html  css  js  c++  java
  • 输入一个url到页面渲染完毕过程

    一、获取IP地址

    获取流程如下

    1. 在浏览器缓存中查找,看是否有该url,有的话直接发起请求,否则下一步
    2. 在本地host文件查找,看是否有该url映射,有的话根据映射ip发起请求,否则下一步
    3. 向本地NDS服务器发起DNS查询请求,如果有对应IP返回,根据该ip发起请求,否则下一步
    4. 本地DNS服务器会向根域名服务器发起NDS查询请求,如果查询不到会返回可能保存了该域名的一级域名DNS服务器地址,本地DNS服务器会再向这个可能保存了域名的一级域名DNS服务器发起DNS查询请求,依次迭代,直到查询到保存了该域名的服务器地址,像其发起NDS查询请求,获取到ip地址发起请求。(DNS服务器就是一个域名和ip的映射表,保存了该域名,即说明该DNS服务器可以解析该域名)

    第4步查询有两种方式:

    1. 递归查询

    本地DNS服务器获取不到查询url和ip的映射,便向根DNS服务器进行DNS查询请求,然后再由跟服务器向一级域名DNS服务器进行DNS查询请求,依次递归查询,直接查询到对应url和ip映射,再将结果一层层返回给本地DNS服务器,最后浏览器发起请求(请求服务器一层层代理转发)

    2. 迭代查询

    本地DNS服务器获取不到查询url和ip的映射,便向根服务器进行DNS查询请求,根DNS服务器返回可能保存了该域名的一级域名DNS服务器的地址,本地DNS服务器则会再向这个一级DNS服务器发起DNS查询请求,然后本地DNS服务依次查询,直到找到真正保存了该域名的DNS服务器获取对应ip地址,最后浏览器发起请求(本地服务器根据返回地址不断的查询)

    二、TCP/IP连接

    查询到对应ip后,便会经过三次握手和该ip服务器建立连接

    三次握手

     -------------smile

     

  • 相关阅读:
    Spring 总结
    分布式缓存Memcache
    Docker原理 -- namespace与CGroup
    JDK源码分析--Collections
    React生命周期总结
    【转】前端优化的35条
    http缓存与cdn相关技术
    跨域处理
    sequekize
    orm2
  • 原文地址:https://www.cnblogs.com/Walker-lyl/p/13643998.html
Copyright © 2011-2022 走看看