• 浏览器输入一个网址,期间发生了什么


    一直有一个问题,就是浏览器输入一个网址,期间发生了什么,刚好看电子书,看作者写的挺好,就准备站在巨人肩膀聊一聊,作者是"小林coding",如有侵权,联系1030417923@qq.com。

    我们先来看一下拓扑图:

    根据拓扑图进行一 一剖析

    1.HTTP(浏览器做的第一步就是解析URL,也就是怎么平时说的网址)

      首先浏览器对URL解析后,会生成发送给web服务器的请求信息。

    下图是URL的组成:

     当没有上图蓝色部分的路径名时,就默认访问根目录下事先设置好的文件,学过Javaweb  都知道,都会默认去找index.html

    生产HTTP请求信息

    对URL解析完成之后,浏览器就确定了文件名和web服务器,接下来就该根据这些解析而来的信息生产HTTP请求了。

     2.真是地址查询----DNS

    到这里很多人可能不是很清楚  这个看着很眼熟的DNS到底是什么,下面先解释一下。

      域名系统,他是互联网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,说白了就是帮忙找到域名的ip,然后返回。

    好解释完了  我们继续----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    生成http消息后,需要委托操作系统将http消息发送到要访问的web服务器,但是操作系统发送消息时,必须提供通信对象的ip地址,意思就是不认域名,只认ip地址。

    所以,又这么一种服务器就专门保存了web服务器域名与IP对象关系,他就是DNS服务器。在域名中,越靠右的位置表示其层级越高。

      层级关系如下:

      根DNS服务器

      顶级域DNS服务器(com)

      权威DNS服务器(server.com)

    其中根域的DNS服务器信息保存在互联网中所有的DNS服务器中。

    域名解析工作流程,可以配合下图理解

     1. 客户端首先会发出一个DNS请求,问www.server.com的IP是啥,并发给本地DNS服务器(也就是客户端的TCP/IP设置中填写的DNS服务器地址)。

     2.本地域名服务器收到客户端的请求后,如果缓存里的表格能找到www.server.com,则它直接返回IP地址。如果没有,本地DNS会去问它的根域名服务器:“老大,能告 诉我www.server.com的IP地址吗?” 根域名服务器是最高层次的,它不        直接用于域名解析,但能指明一条道路。

    3.根DNS收到来自本地DNS的请求后,发现后置是.com,说:“www.server.com 这个域名归.com区域管理”,我给你.com顶级域名服务器地址给你,你去问问它吧。”

    4.本地DNS收到顶级域名服务器的地址后,发起请求问“老二,你能告诉我www.server.com的IP地址吗?”

    5. 顶级域名服务器说:“我给你负责www.server.com区域的权威DNS服务器的地址,你去问它应该能问到”

    6. 本地DNS于是转向问权威DNS服务器:“老三,www.server.com对应的IP是啥呀?”server.com的权威DNS服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。

    7.权威DNS服务器查询后将对应的IP地址X.X.X.x 告诉本地DNS。

    8.本地DNS再将IP地址返回客户端,客户端和目标建立连接。

    今天先到这 ,

  • 相关阅读:
    电池的并联与串联
    [转]为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?
    go module
    thinkPHP5.1自动生成目录结构
    java多线程-锁分析
    Walle 2.0(瓦力)的安装
    轻量日志系统Loki
    Zabbix5.0的安装(超详细)
    政策制定的艺术
    浅谈对golang中的defer,panic,recover理解
  • 原文地址:https://www.cnblogs.com/shuai666/p/14871014.html
Copyright © 2020-2023  润新知