启动浏览器,在地址栏输入我们将要访问的网页,然后按一下回车,OK,成功进入!

在我们回车之后,发生了什么事情?为什么我们会访问到期待的网页,我们究竟访问了谁?如何访问到他的?

我简单的向大家介绍一下,并不深入讲解,只能算作小白科普,不过这个科普还是很有必要的,它不仅能让我们认识到计算机之间是如何沟通的,也能让我们知道很多网络危机、故障是大致怎样产生的,以后遇到问题也好有一个切入点。

你的名字叫什么?

启动浏览器是浏览网页的第一步,毕竟是世界之窗嘛,然后我们在地址栏中输入一个网址,比如百度(www.baidu.com),这里我们叫他“域名”,根据这个域名,是否可以找到百度公司的服务器?这得问问路由器了,在网络中路由器负责为我们传输数据。

你可能会问,这和路由器什么关系?我没有传输数据啊,只是输入一个网址啊,恩恩,没错,不过这相当于一次请求——请求百度的服务器返回一个搜索界面。

看看路由器怎么说:哦,我不用域名或者主机名,我只处理IP地址,我根据它找到目标地点(百度服务器),把数据传给他。

哦哦,看起来域名只是你的别称,你真正的名字叫IP。什么是IP?形如 w.x.y.z的数字,四个数字都是0~255(比如192.168.0.1),也就是四个字节,不过有的会有一些限制,这里不必考虑。

原来还有军师!

如此看来,域名对于路由器来说是不管用的,我们得想办法搞到对应的IP地址,当然,这件事情浏览器帮我们完成了,“你是说,浏览器有一个数据库,里面存储了各个域名到IP的映射?”,这个当然不是,初步算一下这个大约有40亿个,浏览器可存不下。原来在我们按下回车之后浏览器把域名发给他的军师,军师收到域名之后,返回给浏览器一个IP地址,这个就是我们想要的那个。

这位军师就是我们经常会看到的DNS,中文名字是域名系统服务器,一般位于ISP(互联网服务提供商,比如我们熟知的联通、移动、电信等)中。浏览器会首先发给离自己最近的DNS,DNS收到浏览器发来的域名,在自己的数据库和缓存中查找这个域名所对应的IP,如果没有他会询问其他的DNS,递归下去直到弄清楚IP。最后把结果返回给浏览器。

包裹运送 礼尚往来

浏览器既然获得了IP,就可以把包裹发给路由器了,路由器依据这个IP地址,多方周转,送到了百度服务器的手中。到这里还没有结束,百度服务器看到包裹中的请求,把百度的搜索页面发送回浏览器,回来的时候也是依据你主机的IP地址才能将包裹正确送达。

至此,在浏览器输入网址,Enter之后发生的事情简述完毕。再回顾一下:

1. 浏览器接收域名

2. 发送域名给DNS

3. DNS返回域名所对应的IP地址

4. 浏览器向因特网中发出请求

5. 路由器依据IP地址,把包裹送达IP所对应的服务器

看起来,DNS很重要啊,前几天我家附近的计算机部分网络无法访问,我想应该就是DNS那边解析出了问题。2014年有一次国内很多网络无法访问,问题就出在DNS服务器上。全球DNS根服务器只有13台,中国没有,看起来我们国家急需有自己的DNS根服务器啊!

在浏览器输入网址,Enter之后发生了什么?的更多相关文章

  1. 在浏览器输入网址到页面加载完毕中间到底发生了什么?(Browser-->Server)

    最近在学习韩老师的php视频,中间有讲到发送请求到服务器返回内容,以前对这个理解并不深刻,虽然以前也知道一部分,这次听了之后收获良多:所以我就画了个流程图,从浏览器输入网址到服务器返回信息,浏览器渲染 ...

  2. [网络] 在浏览器输入URL回车之后发生了什么

    目录 一  前言 二  URL解析 三  DNS域名解析 1  IP 地址 2  什么是域名解析 3  浏览器如何通过域名去查询 URL 对应的 IP 呢 4  小结 四  建立连接 1  TCP三次 ...

  3. Jupyter Notebook启动不会自动打开浏览器,每次都要自己打开浏览器输入网址

    今天在使用jupyter 时,已启动服务,但每次都需要手动去浏览器 输入网址才可以, 最好找了好久才解决了. 去cmd 命令窗口执行jupyter notebook --generate-config ...

  4. HTTP-点开浏览器输入网址背后发生的那点事

    前言 Internet最早来源于美国国防部ARPANet,1969年投入运行,到现在已有很长一段路了,各位想要了解发展史可以百度下,这里就不多说了. 现如今当我们想要获取一些资料,首先是打开某个浏览器 ...

  5. 在浏览器输入网址,Enter之后发生的事情

    简介: 1. 浏览器接收域名 2. 发送域名给DNS,中文名字是域名系统服务器,一般位于ISP(互联网服务提供商,比如我们熟知的联通.移动.电信等) 中.浏览器会首先发给离自己最近的DNS,DNS收到 ...

  6. 浏览器输入URL后,发生了什么?(打开一个网页会使用哪些协议?)

    简单说来分为6个过程 1.DNS解析 互联网每一个服务器都是以ip地址作为界限的,并不是我们平时输入的url地址,就比如www.ccc.com这一个网址,当输入进浏览器之后就会由DNS解析将它转化成一 ...

  7. 当浏览器输入url的时候发生了什么

    当用户在浏览器地址栏里面输入一个url的时候.接下来会发生一系列的过程.首先是DNS解析, 将域名转换成对应的IP地址,之后浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接.该 ...

  8. 在浏览器输入URL回车之后发生了什么?(超详细版)

    前言 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所以相对 ...

  9. 在浏览器输入URL回车后发生了什么?

    本文由 简悦 SimpRead 转码, 原文地址 https://4ark.me/post/b6c7c0a2.html 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最 ...

随机推荐

  1. 【刷题】BZOJ 1487 [HNOI2009]无归岛

    Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛上的任意两个生物,他们有且仅有一 ...

  2. Spring Boot -Shiro配置多Realm

    核心类简介 xxxToken:用户凭证 xxxFilter:生产token,设置登录成功,登录失败处理方法,判断是否登录连接等 xxxRealm:依据配置的支持Token来认证用户信息,授权用户权限 ...

  3. bzoj1052

    Description 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄 膜把这些小树遮盖起来,经过一番长久的思考,他决定用3个L*L的正方形塑料薄膜将 ...

  4. 解决 winform 界面对不齐

    最近做了一个winform的程序,本机上界面对得很齐,到一到客户的机器上就惨不忍睹,一番研究后搞定: 1. AutoScaleMode = None 2. BackgroundImageLayout ...

  5. 四、spring boot 1.5.4 日志管理

    spring boot日志默认采用logback进行输出,你可以对logback进行定制化,方法如下: 在resources文件夹下建立logback.xml配置文件 <?xml version ...

  6. 解题:EXNR #1 金拱门

    题面 大力统计题 考虑把和的平方拆开,最终就是许多对位置乘起来求和.所以考虑每对位置的贡献,对于$a_{i,j}$和$a_{k,h}(1<=i<=k<=n,1<=j<=h ...

  7. 解题:HAOI 2015 按位或

    题面 Min-Max容斥:对于集合S $min(S)=\sum_{s∈S}(-1)^{|s|+1}max(s)$ $max(S)=\sum_{s∈S}(-1)^{|s|+1}min(s)$ 那么这个题 ...

  8. Nginx反向代理下IIS获取真实IP

    1. iis 如果放在反向代理后面,日志里的c-ip是反向代理服务器的ip,不是真正用户的ip,想要记录用户的ip要做两件事. 一.在反向代理设置X-Forwarded-For段,以下为nginx下的 ...

  9. IAR ------ 基本使用

    1.编译结果: 6 887 bytes of readonly code memory 621 bytes of readonly data memory 331 bytes of readwrite ...

  10. jQueryCDN

    分享几个jquery的几个国内国外的CDN加速节点,方便广大的开发设计者调用和节约空间,官网的总是最新版本的jquery所以不用去担心版本更新问题,其他加速节点可能不会在更新版本,所以取舍问题自己决定 ...