zoukankan      html  css  js  c++  java
  • 一个web请求的全过程

    参考文档:
    http://www.mamicode.com/info-detail-1357508.html

    名词解释
    DNS:  

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
    通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

    DNS的功能:   

    每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
    主机名到IP地址的映射有两种方式:
    1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
    2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。[
    通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

    流程

    1、在浏览器输入网址
    2、浏览器根据域名解析ip地址(dns域名解析)
       dns查找过程
            1)浏览器缓存:浏览器会缓存DNS记录一段时间。 但操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
            2)系统缓存:如果在浏览器缓存里没有找到需要的域名,浏览器会做一个系统调用(windows里是gethostbyname),这样便可获得系统缓存中的记录。
            3)路由器缓存:如果系统缓存也没找到需要的域名,则会向路由器发送查询请求,它一般会有自己的DNS缓存。
            4)ISP DNS缓存:如果依然没找到需要的域名,则最后要查的就是ISP缓存DNS的服务器。在这里一般都能找到相应的缓存记录。
        域名解析原理
           1)一个域中的每个主机名与其IP地址的映射关系由这个域的DNS服务器负责管理,例如,"www.it.org”、“ftp.it.org”、“blog.it.org”等主机名都由管理域“it.org”的DNS服务器进行管理,而不能由管理域“org”的DNS服务器进行管理。
            2)每个管理域都必须在其直接父域的DNS服务器上注册该子域的名称和该子域的DNS服务器的IP地址,例如,必须在管理域“org”的DNS服务器注册子域“it.org”和其DNS服务器的IP地址后,域名“it.org”才能真正被外界所认可。
            3)为了方便对顶级域名的统一管理,在顶级域名之上其实还有一个根域名,根域名用点(.)表示,例如,“www.it.org”也可以写为“www.it.org.”,“www.it.org.”中的最后的那个点(.)就表示根域名。 Internet中的根域名由InterNIC(国际互联网络信息中心)集中管理,顶级域名和其下的域名则由拥有该域名的组织、公司和个人自己管理。
    3、浏览器与web服务器建立一个 TCP 连接
    4、浏览器给Web服务器发送一个http请求



  • 相关阅读:
    个人总结13
    构建之法阅读笔记一
    个人总结12
    个人总结11
    地铁时光机第一阶段冲刺十
    地铁时光机第一阶段冲刺九
    地铁时光机第一阶段冲刺八
    单词 统计续
    地铁时光机第一阶段冲刺七
    个人总结10
  • 原文地址:https://www.cnblogs.com/amei0/p/8522079.html
Copyright © 2011-2022 走看看