缩短网站域名的DNS解析时间

news/2024/5/20 10:48:04/文章来源:https://blog.csdn.net/weixin_33916256/article/details/85488516

1ca60c306844e5c7a8018e39.jpg

如上图所示,普通用户打开一个网页的时间主要由四部分组成:

网站域名通过 DNS 服务器解析到IP地址的时间通过IP地址和服务器建立HTTP连接的时间服务器接受连接请求后进行计算的时间网页内容通过HTTP协议传输到用户的时间

在上图中,DNS域名解析时间占了整个访问时间的1/3强,严重拖慢了用户打开网页的速度。

作为一个站长,一定希望自己网站的打开速度足够快,以免访问者因为失去耐心而关闭浏览器。
本文将介绍如何缩短网站域名的DNS解析时间,来让访问者更快的打开你的网站。

一、域名的DNS解析过程

将一个域名解析成IP地址,主要由以下几个步骤:

将域名解析请求发送给本地的域名服务器 (DNS Server) 。域名服务器 (DNS Server) 收到请求后,先查询本地缓存,如果有该域名的纪录项,则直接返回目标IP地址。如果本地缓存中没有,则直接发送请求给根域名服务器 (Root Name Server) 。
根域名服务器 (Root Name Server) 返回给本地域名服务器 (DNS Server) 一个所查询域的主域名服务器 (gTLD Server) 地址。本地域名服务器 (DNS Server) 再向上一步返回的 TLD 服务器发送请求。
接受请求的 TLD 服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器 (Name Server) 的地址。正常情况下 Name Server 会有相应的记录,并返回给 DNS Server 。本地 DNS Server 根据域名的TTL值,把返回的结果保存到缓存,同时将解析结果返回给客户机。二、缩短域名的DNS解析时间

知道了域名的DNS解析过程,就可以采取相应的措施,缩短解析时间,我们所能影响和选择的方面主要包括缓存、本地DNS Server和域名的Name Server。

1、增加域名的缓存命中率

如果访问者访问网站时,域名在本机或当地的DNS Server缓存中,则可以大大加快该域名的解析时间。

以下方法可以增加域名在DNS Server中的缓存命中率:

提高网站的访问量。
网站的访问量越高,意味着网站域名被请求解析的次数越多,则该域名被DNS Server缓存的几率就越大。增加域名A记录和CName的TTL (Time-To-Live) 值。
TTL就是一条域名解析记录在DNS Server中的存留时间和过期时间。增大TTL值可以让DNS Server缓存该域名更长时间,增加缓存的命中率。TTL一般默认为一小时,可以根据实际情况设为一天甚至一周以上。
当然,如果你域名的IP经常变化,则TTL不应过大,否则各地的DNS Server会暂时无法获得新的正确的IP地址。

下图是两个网站采用相同服务器、相同IP、相同网页内容,不同的TTL值在同一天内的监控结果。
ddbaab992a6111566f068c39.jpg

图一:TTL设为一小时

9d9f5f08eb6640cb0b7b8239.jpg

图二:TTL设为一周

可以注意到,图二中域名DNS解析所花的时间可以忽略不计,这就是域名A记录TTL时间长,增加了缓存的命中率带来的加速效果。

2、选择更快的本地DNS Server

一般而言,我们无法决定用户使用何种DNS Server,大部分初级用户使用的是本地ISP自动获取的DNS Server,部分用户则使用第三方DNS Server比如Open DNS或者Google DNS。

不过你可以建议你的用户使用Google DNS (8.8.8.8 和8.8.4.4),该DNS Server会比电信或网通自动获取的DNS Server快许多。

3、选择更快的域名Name Server

在域名的whois信息中,我们可以看到域名的Name Server,不同的Name Server有不同的域名管理面板用来管理A记录和CName等信息。
由于一般的站长无法在全世界建立Name Server的镜像,所以我们只能选择离目标访客物理距离近的Name Server以加快访客的解析速度。
比如你的网站主要浏览量来自中国,则你的Name Server最好也在中国境内,最好是电信和网通双线的。如果你的网站主要浏览量来自美国,则你可以用Godaddy的Name Server。

不过近年来宫信步势大,大量域名都转移至了国外,而国内缺少免费、稳定的第三方Name Server,使得这个问题很难解决。Godaddy的免费Name Server,国内解析起来实在很慢,也许我们可以期待无所不能的Google将来提供免费的Name Server给我们。

三、结论

本文通过理解域名的DNS解析过程,选择我们所能影响的因素,采取对应且免费的措施来加快域名的DNS解析时间,使得访客有更快的打开速度和更好的用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_822484.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

40个精美的作品网站设计案例欣赏(下篇)

对于网页设计师来说,制作一个作品集可能是一件非常有挑战的事情。为了吸引注意力,作品集必须展示出你的能力,这有点像制作简历,要让人们看到你所擅长的,突出的部分。如果你正想设计个人作品网页,下面这些案…

mysql展示表中信息_MySQL中数据表操作详解 - 用SHOW/ DESCRIBE语句显示数据表的信息_数据库技术_Linux公社-Linux系统门户网站...

使用MySQL,目前你可以在三种基本数据库表格式间选择。当你创建一张表时,你可以告诉MySQL它应该对于表使用哪个表类型。MySQL将总是创建一个.frm文件保存表和列定义。视表类型而定,索引和数据将在其他文件中存储。你能用ALTER TABLE语句在不同…

“历史上的今天”web网站

今天我们来做一个网站,历史上的今天,相信大家都不陌生,我们可以百度搜一下,有很多这样的网站。 看了上面的截图,我们来实现自己的,此网站是以一种时间轴的方式来实现的。看一下效果图,为了更好的…

浅谈服务器或网站被植入病毒代码的原因

一般来说,服务器或者网站被植入病毒代码有以下三种原因: 1、虚拟主机网站代码有问题,存在安全漏洞造成的。 如果服务器上大部分用户的网站都正常,只有少量用户网站被黑,那么就很可能是少量用户网站被黑的网站代码有问题…

服务器升级中不能修改,windows电脑显示无法完成更新,正在撤销更改_网站服务器运行维护...

如何查看windows电脑日志_网站服务器运行维护查看windows电脑日志的方法是:1、首先,打开控制面板;2、然后,找到【管理工具】选项,点击进入;3、最后,点击【事件查看器】选项,选择【打…

我设计的网站的分布式架构

互联网的网站和大部分企业管理软件一样都是使用B/S架构模型,但是大型的公共网站B/S架构会更加复杂,对架构人员的要求更高,今天我想在自己博客里聊聊我设计的网站的B/S技术架构。 不管是B/S架构的企业管理系统还是网站技术架构可以抽象为如下简…

JavaWeb基于Jsp+Servlet的动物领养网站(原创毕业设计项目)

项目类型:JAVA WEB项目项目名称:JavaWeb基于JspServlet的动物领养网站用户类型:双角色(管理员爱心人士)设计模式:JspServlet开发工具:Eclipse 数据库:MysqlNavicat数据库表&#xff…

基于Nginx的负载均衡网站架构

操作环境:VMware Fusion 操作系统:Centos6 实验架构设计图及实现: 实验说明: Nginx服务器作为Web前端,当接收到用户的Web访问请求时,将请求转发 给内部真正的WEB服务器。 Nginx具有两个网卡,一…

【原创】Javaweb篮球俱乐部网站(Web网站毕业设计)

JavaWeb技术开发,后端采用JspServlet。前端使用的是Bootstrap的一个网站模板。通过3种角色使用,实现了包括了球员信息管理、球队信息管理、赛事信息发布、赛事订阅等多个不同的模块。 项目类型:JavaWeb源码 用户类型:3个角色(管理…

【原创】基于Web的学习资料共享网(JavaWeb学习资料网站)

项目介绍:通过2种角色使用,实现了包括了学习资料发布、学习资料下载、搜索学习资料、用户管理等多个不同的模块。Javaweb后端采用JspServlet。前端使用的是Layui的一个网站模板。 项目类型:JavaWeb源码 用户类型:2个角色(管理员用…

1.网站数据库交互sql注入

开学了学习时间少非常了,虽然是职高但不是计算机专业 sql注入打基础,之前都学习的sql注入原理,没有学习sql语句感觉有点迷糊,就直接拿别人的语句自己进行找网站漏洞,或者用sqlmp直接去扫,感觉很麻木不知道…

mysql如何导入网站数据_mysql怎么把数据导入进去

mysql把数据导入的方法&#xff1a;1、使用“mysql -u用户名 -p密码 < sql文件”语句导入数据&#xff1b;2、使用“source sql文件的路径”语句导入数据&#xff1b;3、使用mysqlimport导入数据。1、mysql 命令导入使用 mysql 命令导入语法格式为&#xff1a;mysql -u用户名…

为什么使用getrequestdispatcher跳转出现404_网站优化之网站为什么要做301定向跳转?...

网站在进行优化的过程中&#xff0c;有一个重要的网站检查因素就是301定向跳转&#xff0c;为什么要做301定向跳转呢&#xff1f;301定向跳转是用户或搜索引擎对浏览器发出请求时&#xff0c;网站服务器返回HTTP数据流中头信息中的一种状态码&#xff0c;表示本网页自动的转移到…

IOS学习收集的相关网站

2019独角兽企业重金招聘Python工程师标准>>> 1&#xff0c;CocoaChina&#xff1a;http://www.cocoachina.com/ 2&#xff0c;Code4App&#xff1a;http://code4app.com/ 3&#xff0c;梦维&#xff1a;http://www.dreamingwish.com/ 4&#xff0c;open开源文档&a…

脚本启动显示查询频繁被服务器防御_WEB网站防御DDoS攻击的六种方法

DDoS攻击是一种常见攻击&#xff0c;可确实是个困扰运维人员最为恼火的问题&#xff0c;可导致网站宕机、服务器崩溃、内容被篡改甚至品牌/财产严重受损。其实防御DDoS攻击除了运维人员日常的一些防范意识及操作外&#xff0c;IDC服务商提供的付费增值服务是最好的选择&#xf…

大型网站

2019独角兽企业重金招聘Python工程师标准>>> 模块 DB CACHE 分布式文件系统 非可靠通知服务 搜索 名词 java中间件 : 消息中间件&#xff1a;Notify、MetaQ 服务框架 负载中心 中间件 大型系统 转载于:https://my.oschina.net/u/1380237/blog/282582

如何搭建一个属于自己的博客/企业网站?

本文首发于 Guanngxu 的个人博客&#xff1a;如何搭建一个属于自己的博客/企业网站 本文参考内容&#xff1a; 如何做博客/企业站以及注意事项 Typecho支持Emoji表情方法 说明&#xff1a;此篇文章得益于王红星的指导&#xff0c;喜欢直接粗暴一点的朋友可以跳过前面&#xff0…

php威客网,最新带支付宝支付接口的PHP威客任务网站完整版源码破_界面漂亮整洁...

源码介绍这是一款基于PHPMYSQL技术构架的威客系统 &#xff0c;多年实践和对威客模式商业化运作的大量调查分析而精心策划研发&#xff0c;是您轻松搭建威客网站的首选利器。该系统针对威客任务模型进行了细致的分析&#xff0c;提供完善威客任务流程控制解决方案&#xff0c;并…

云服务器上的网站不能访问权限,【权限777】云服务器网站访问提示Internal Server Error...

最近收到久云大使主机用户的故障申告&#xff0c;访问网站提示“Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request”如下图&#xff1a;上面的错误提示的意思是&#xff1a;访问遇到一个服务器内…

访问Ice-Pick Lodge:假设公众筹款网站Kickstarter在成功

Xsolla非常高兴採訪了来自莫斯科的工作室 Ice-Pick Lodge 的Golubeva。数天前&#xff0c;该公司已成功在Kickstarter上募集资金&#xff0c;创造出最知名的游戏“Pathologic” 。这是一个巨大而复杂的工程&#xff0c;预算远远超过25万美元。亚历山大告诉了我们用于翻拍的技术…