• 当你在浏览器地址栏中输入一个域名网址,或者一个ip地址时,你可以成功访问到希望的网站,但有时候需要科学上网才能成功。那么当你输入一个网址时,这背后发生了什么?

1.从DNS域名解析开始。

  • 以域名,比如www.baidu.com代替ip地址更容易让人记忆深刻。DNS域名解析就是将域名解析成特定的ip地址。DNS域名解析是有一个顺序的,顺序:浏览器的DNS缓存——本地的DNS缓存——路由器的DNS缓存——ISP(网络服务提供商)的DNS缓存——ISP的DNS服务器从根服务器开始递归搜索。(根服务器主要用来管理互联网的主目录,全世界IPv4根服务器只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。)

  • 关于浏览器的DNS缓存问题可以自行搜索。笔者使用的是火狐浏览器。在地址栏中输入about:config,再使用dns关键词查找可以找到“network.dnsCacheExpirationGracePeriod”条目,这是一个dns缓存时间的设置条目,默认是60秒,如果修改为0就表示没有DNS缓存了,“network.dnsCacheEntries”是缓存的条目,默认400条;但是由于时间修改为0,基本上修改其他条目也没有影响了,反正浏览器中已经没有了DNS缓存了。浏览器有DNS缓存是因为跨进程调用系统DNS缓存会使用更多的资源,如果浏览器有自己的DNS缓存的话就只用调用自己的的进程了。

2.系统缓存

  • 系统缓存不完全等于hosts文件,但绝对会包含,实验以证明之。首先调用命令行,输入命令ipconfig /displaydns就会展示系统的DNS缓存记录。接着打开hosts文件,Windows系统在C:\Windows\System32\drivers\etc文件目录下,使用记事本类的文件打开它就会发现里面默认是没有记录的,你可以添加,格式:ip地址+空格+域名。我们随便添加一条:8.8.8.8 www.yh.com。在命令行中清除掉所有的系统DNS缓存记录,清除之前首先关闭浏览器,断掉与所有网站的连接;命令如下:ipconfig /flushdns;再次输入展示命令ipconfig /displaydns,就会发现系统缓存只有hosts文件中的手动添加的域名解析,可以删掉或注释掉刚刚添加的条目,再次运行上述命令,Windows系统会提示无法显示DNS解析缓存,也就意味着没有任何DNS缓存。

  • 接下来的一个实验是论证一下到底添加hosts文件会不会生效,以及由实现引申出来的一些bug。。。以起点中文网作为实验对象,网站的ip地址应该是可以很多方法获取,笔者在火狐浏览器中使用了一个flag扩展组件,可以获取其地址,起点ip地址为220.249.243.89,在hosts文件中再追加一个随便域名,比如说www.baid.com。然后记得去掉浏览器DNS缓存和系统DNS缓存,关掉与起点的网站链接。然后在地址栏中输入随便域名,www.baid.com(如果出现403什么的错误,可以试着加上完整的URL地址,比如笔者指定了协议为https,完整的输入为https://www.baid.com)。它会弹出一个不安全的连接,但是笔者用flag扩展组件仍然可以看到建立连接的地址仍然为起点ip地址。

  • 弹出不安全连接是因为浏览器发出建立连接的消息时,服务器返回了一个消息,其中包含证书(证书中有一些参数),然后浏览器在进行比对,发现了域名与ip地址不匹配的问题,浏览器就会发出不安全连接的警告。综上所述,浏览器如果没有自己的DNS缓存,确实会调用系统的DNS缓存,而且使用了hosts文件。笔者希望同学们都能开启浏览器DNS缓存,这样可以减少系统资源的使用。

3.DNS服务器的选择

  • 上网的DNS服务器的选择其实也是会影响上网速度的,因为浏览器如果不知道网址对应的ip地址就会去配置的DNS服务器中查询对应的ip地址,如果DNS服务器的延迟很大,那么即使网好也会带来延迟。配置DNS可以不使用指定的DNS服务器,一般来说,中国都是联通、电信、移动的服务器,可以自己上网搜索一下。下面就配置自己的DNS服务器,都使用Windows系统作为例子。打开“控制面板”——选择“网络和共享中心”——选择“更改网络适配器设置”——选择当前联网的适配器,并右键选择“属性”——双击“Internet协议版本4”——取消自动获得DNS服务器地址,手动指定。

  • 网络上比较好的DNS服务器有很多。1、DNSPod DNS:首选ip地址:119.29.29.29;备选:182.254.116.116。2、114DNS:首选ip地址:114.114.114.114;备选:114.114.114.115。其他的诸如百度DNS,阿里DNS等等。前述的两个确实是非常好的DNS服务器,可以使用站长工具ping,测试全国各地的速度。

4.其他

  • 有时候只能使用域名访问一个网址而不能使用ip地址,原因可能是一台服务器上托管了多个虚拟网站。而且如果更改了默认的80端口,必须指定特定的端口,比如说http://www.example.com:8080,我们平时上网之所以不需要写端口正是因为默认的原因。

浏览器上网的一些原理相关推荐

  1. Fiddle作为代理服务器后,无法登录浏览器上网问题?

    Fiddle作为代理服务器后,无法登录浏览器上网问题? 思路: 一.搞清楚fiddle代理服务器的原理 二.搞清楚无法上网的原因 三.解决问题 1.搞清楚fiddle代理服务器的原理 代理,顾名思义中 ...

  2. 电信联通ADSL共享上网检测的原理与实现

    摘要:随着互联网带宽的发展,运营商为了保护自己的利益而不让用户几家合用路由上网,于是普遍采用IPID.时间戳.User-Agent头等技术来检测技术来判定路由器后面有多少台计算机在共享上网.本文深入剖 ...

  3. div置于页面底部_浏览器渲染页面的原理及流程

    浏览器渲染页面的原理及流程 浏览器将域名通过网络通信从服务器拿到html文件后,如何渲染页面呢? 1.根据html文件构建DOM树和CSSOM树.构建DOM树期间,如果遇到JS,阻塞DOM树及CSSO ...

  4. 浏览器上网 (Safari Chrome)

    浏览器上网 (Safari & Chrome) Command + L = 光标移到地址框 Command + R = 刷新页面 Command + + = 大屏幕的时候很实用,放大页面,基本 ...

  5. 浏览器渲染页面的原理及流程---------重绘与重排(回流)--优化

    浏览器渲染页面的原理及流程 浏览器将域名通过网络通信从服务器拿到html文件后,如何渲染页面呢? 1.根据html文件构建DOM树和CSSOM树.构建DOM树期间,如果遇到JS,阻塞DOM树及CSSO ...

  6. 一次性永远激活7290自带浏览器上网和彩信收发功能

    http://www.52blackberry.com/forum.php?mod=viewthread&tid=299811 [2010强悍教程]一次性永远激活7290自带浏览器上网和彩信收 ...

  7. WiFi手机可以连接,电脑上也能连接,可以微信聊天,但是不能浏览器上网怎么解决?

    问题描述:WiFi手机可以连接,电脑上也能连接,可以微信聊天,但是不能浏览器上网,显示域名解析错误. 背景:小编过了年回来上班后,发现公寓里的无线网在电脑上无法访问互联网,就非常的纳闷.首先我咨询了电 ...

  8. 建行找不到服务器或DNS错误,Win7用浏览器上网总是弹出提示是否停止运行此脚本窗口...

    腾讯视频/爱奇艺/优酷/外卖 充值4折起 最近,小编的朋友用浏览器上网,总是弹出提示"是否停止运行此脚本"窗口.询问小编后,得出结论,应该是流氓程序通过病毒篡改了浏览器的注册表,以 ...

  9. 关于电脑连接好WiFi却无法使用浏览器上网的一种解决方法

    如果你的电脑的网络设置里选项是自动获取ip地址的话,那么大概率适用此方法.(我这个已经是填好的,之前是自动获取) 方法步骤:这里分两步 (1)首先确定无法使用浏览器上网的原因.(比如我的电脑之前就是因 ...

  10. 计算机上网记录怎么清除,如何清除浏览器缓存及上网痕迹 清除浏览器上网痕迹的方法...

    众所周知,使用浏览器浏览网页后都会留下一些上网痕迹,如果不及时清除这些上网痕迹,就很容易泄露自己的隐私.那么如何清除浏览器缓存及上网痕迹?一起看看清除浏览器上网痕迹的方法吧. 1.以360浏览器为例, ...

最新文章

  1. 图灵2月书讯:书籍,不可分离的生命伴侣
  2. Java中对象的销毁
  3. H3C 思科华为 等网络设备配置文档自动备份思路及实现方法
  4. 【Tiny4412】Tiny4412编译和烧写uboot
  5. 运行Deeplab遇到‘Unexpected label’
  6. 蛋疼的strtok函数
  7. 迭代器、生成器、递归、二分法
  8. 2017.10.16 模拟赛
  9. 防止订单重复提交的2种技术解决方案
  10. Linux运维从入门到进阶
  11. bat脚本一键配置java开发环境
  12. 推荐几个浏览器插件帮助你查论文显示期刊等级(分区及影响因子),sci文章便捷下载
  13. 写书用什么软件好_微信加人软件什么样的引流效果好
  14. 如何提升自己的网站打开速度
  15. 你的知识需要管理-博学审问慎思明辨笃行
  16. Cisco路由器内部网关协议(IGP)实验:OSPF
  17. Linux小白三天入门进阶笔记——DAY1
  18. 分式怎么开根号_怎么打出根号二(教你如何写出√2的连分式)
  19. 计算机毕业论文基于Python实现的学生求职招聘兼职平台
  20. 思维导图超级学习力提升宝典

热门文章

  1. SC-FDE 系统 基于导频的细小偏估计
  2. 数据分析的步骤和常用方法
  3. 在java中定义一个字符串类型的变量str的语句是:( )._JAVA复习题
  4. linux vim 安装失败,ubuntu安装vim失败怎么办
  5. 利用python批量创建文件夹、批量创建文件、批量复制文件到指定文件夹
  6. 陈丹琦博士论文里对attention机制的讲解
  7. 输电线路覆冰智能预测预警系统
  8. XML第十讲:XML中Schema深入详解、元素、属性、关系
  9. 保存位图位图保存时上下颠倒?
  10. 北京计算机应用中级,计算机应用教程(中级)