DNS解析和优化(操作与实践,一分钟就能实现DNS优化)

DNS解析和优化(操作与实践,一分钟就能实现DNS优化)

当我们输入一个网址,访问一个网站的时候,浏览器会干些什么?(本篇文章不过多解释DNS的理论知识,主要讲解项目中如何使用封装代码进行DNS优化)

答案:域名–>DNS–>IP

当第一次访问一个站点的时候,有很多时间耗费在了DNS解析这个站点上

来看一个图:

image-20230516144241771

我们需要知道的知识点:

1.DNS解析的过程费时间

2.DNS有本地缓存

何时进行NDS优化?

答案:当一个网站是a.com打开,但是这个网站需要加载b.com的图片还得加载script中的c.com的文件,我们可以将项目代码中的这些情况提前进行解析出,并且还是异步的解析。

image-20230516145130412

如何让浏览器提前解析这些域名呢?

我们项目中创建一个scripts文件夹,再创一个文件将以下代码放进去然后npm run build进行打包,就可以将你项目中的所有外来的链接进行DNS预解析。

image-20230516145530836

解析完成后自动在你的打包文件html文件中加入预解析代码块

image-20230516145805178

附带封装的代码:

const fs = require('fs');
const path = require('path');
const { parse } = require('node-html-parser');
const { glob } = require('glob');
const urlRegex = require('url-regex');

// 获取外部链接的正则表达式
const urlPattern = /(https?:\/\/[^/]*)/i;
const urls = new Set();
// 遍历dist目录中的所有HTML、js、css文件
async function searchDomain() {
  const files = await glob('dist/**/*.{html,css,js}');
  for (const file of files) {
    const source = fs.readFileSync(file, 'utf-8');
    const matches = source.match(urlRegex({ strict: true }));
    if (matches) {
      matches.forEach((url) => {
        const match = url.match(urlPattern);
        if (match && match[1]) {
          urls.add(match[1]);
        }
      });
    }
  }
}

async function insertLinks() {
  const files = await glob('dist/**/*.html');
  const links = [...urls]
    .map((url) => `<link rel="dns-prefetch" href="${url}" />`)
    .join('\n');

  for (const file of files) {
    const html = fs.readFileSync(file, 'utf-8');
    const root = parse(html);
    const head = root.querySelector('head');
    head.insertAdjacentHTML('afterbegin', links);
    fs.writeFileSync(file, root.toString());
  }
}

async function main() {
  await searchDomain();
  // 在<head>标签中添加预取链接
  await insertLinks();
}

main();

{
  await searchDomain();
  // 在<head>标签中添加预取链接
  await insertLinks();
}

main();

monkey-papa
关注 关注
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DNS解析优化的主要方法
Always-Learning
09-26 4348
如何清除DNS缓存? 在浏览器中输入下面的地址: chrome://net-internals/#dns 同时需要清空socket池 清除系统的DNS缓存 查看Windows系统中的缓存 ipconfig /displaydns 在windows中清除DNS缓存记录 ipconfig /flushdns 在macOS中清除DNS缓存记录 sudo killall -HUP mDNSResponder 如何清空缓存并进行硬刷新? 在F12的情况下,右键刷新按钮即可选择。 什
多活主备选择性DNS解析(一个域名对应多个IP)
热门推荐
追逐丶的博客
04-24 1万+
多活主备选择性DNS问题背景知识背景DNS解析存在多级缓存(此处仅列举到DNS服务器层;后续流程不涉及)DNS一对多域名的解析随机性DNS 域名解析负载均衡缺点:可能方案方案一、dns解析层面控制DNS解析结果1.1 通过内置DNS服务器控制IP解析(伪造DNS)1.2、让备机nginx的状态能够影响DNS服务器解析方案二、在DNS解析到备机后,提供备机跳转解决方案2.1 、在访问到备站点后,前端使用脚本/在备机nginx层进行域名重定向2.1.1 nginx层控制2.1.2 备机页面脚本层控制2.1.3
DNS优化
04-07
DNS优化
百度App网络深度优化系列(一):DNS优化
cpongo011702
07-02 456
一、前言网络优化是客户端几大技术方向中公认的一个深度领域,所以百度App给大家带来网络深度优化系列文章,其中包含系列《一》DNS优化,系列《二》连接优化,系列《三》弱网优化,希望对大家在网络方向的学习和实践有所帮助。百度起家于搜索,整个公司的网络架构和部署都是基于标准的internet协议,目前已经是全栈HTTPS,来到移动互联网时代后,总的基础架构不变,但在客户端上需要做很多优化工作。DNS(D...
【性能优化DNS解析优化
最新发布
owo_ovo的博客
08-08 993
【性能优化DNS解析优化
DNS与网站优化
linux学习区域
09-02 864
DNS与网站优化     DNS服务器大家都不陌生,将网站所做的域名解析到对应的IP地址从而达到解析的目的。站长每日做着站内站外的优化,选择网站服务器的同时是否想过DNS会成为一个隐藏在网站幕后的杀手呢?网站运行速度的快慢不仅仅取决于程序、运行服务器,还有DNS解析速度的快慢,或者DNS服服务器的瘫痪同样会为网站带来一场不亚于主机服务器中断的伤害。二进制的石家庄SEO博客在今天凌晨1点到5点就出
DNS解析优化
小柒的前端之旅
01-28 2863
前面的话 我们都知道TCP/IP中使用的是套接字(IP地址与端口号)来进行tcp连接,那为什么不使用域名来直接通信呢? 原因有以下两点: IP地址的长度固定,IPV4是32位,IPV6是128位;而域名是变长的,不便于计算机处理 IP地址对于用户来说不方便记忆,但是域名便于用户记忆,例如www.baidu.com是百度的域名。 总结: ip地址是面向主机的,而域名则是面向用户的。 hosts文......
puredns:puredns是一个子域暴力破解工具,可改进massdns来准确处理通配符子域和DNS中毒。 易于使用并集成到工作流中,可确保公共解析器获得的结果是干净的
04-13
是一个功能强大的DNS解析器,用于执行批量查找。 有了适当的带宽,并有大量的公共解析器,它可以在几分钟之内解决数百万个查询。 不幸的是,结果仅与所使用的公共解析器提供的答案一样好。 它们经常被DNS中毒条目...
一篇让你彻底了解DNS原理及其解析过程
weixin_41563161的博客
01-25 1867
1.序 TCP/IP网络中要求每一个互连的计算机都具有其唯一的IP地址,如39.1xx.20.58。并基于这个IP地址进行通信。然而,直接使用IP地址有很多不便之处。例如,在进行应用操作时,用户必须指定对端的接收地址,此时如果使用IP地址的话应用就会有很多不便之处。因为IP地址是由一串数据序列组成,并不好记。 从人类的角度看。我们平常在访问某个网站时不使用IP地址,而是用一串由罗马字和点号组成的字符串。如 www.baidu.com。能够这样做是因为有了DNS( Domain Name System)功能的
DNS域名解析过程剖析
m0_52012606的博客
07-19 4327
第三步如果本地也没有配置那么就会根据向本机配置的本地区DNS域名服务器(LDNS)发起请求,如果你是通过学校连接互联网的一般是你学校的DNS服务器,如果你是在小区连接互联网的一般是网络提供商比如电信,联通的DNS服务器,DNS服务器通常不会太远。第七步gLTD服务器查询并返回域名对应的NameServer域名服务器的地址,通常是你注册的域名服务器,例如你在某个域名服务器提供商申请的域名,那么这个域名解析任务就由这个域名服务提供商来完成。第二步如果浏览器缓存没有,那么就检查操作系统的hosts文件。...
DNS优化工具namebench-1
07-05
一款智能选择最优DNS服务器的菜鸟级工具
DNS优选.rar Windows DNS网络优化工具
04-21
DNS优选 Windows DNS网络优化工具,自动选择最优DNS线路,优化网络速度,优化DNS上网速度
最佳DNS优化DnsJumper官版.zip
04-06
最佳DNS优化DnsJumper官版,是众多DNS优化小程序当中选择出来,留作本地使用的,看中了DnsJumper官版安全便捷,希望它带给亲们美好的更加顺畅的无线路由网络体验。
如何进行DNS优化
HoewDec的博客
05-07 995
通过对DNS服务器的冗余配置和DNS解析缓存的优化,可以降低DNS故障对网站的影响,提高网站的稳定性和可靠性。通过优化DNS服务器、域名解析DNS缓存和CDN加速等方面,可以缩短网站的加载时间,提高用户访问体验,从而达到提升网站流量和转化率的目的。简单来说,DNS优化就是通过对DNS服务器、域名解析、域名解析缓存等方面的优化,提升网站解析速度,从而缩短网站的加载时间,提高用户访问体验。可以通过增加DNS缓存的大小、调整DNS缓存的时间等方法,减少DNS解析的次数,加快网站的访问速度。
Android 网络性能优化(2)DNS优化
2401_83817148的博客
04-10 953
DNS劫持又叫,是指攻击者通过某种手段篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP。这里不过多讲解,因为内容很多,而且和本章没啥关联。PS:你在看这篇文章时,左下角、右下角如果出现了广告,这很有可能能使DNS被劫持了,当然了,这也可能就是官方自己的广告= =。
系统设计之DNS优化
阿里云开发者
04-19 198
将域名解析成对应的IP地址,把域名解析成对应的机器IP地址,便于我们的请求去进行访问.
connect: 网络不可达_百度App网络深度优化系列《一》DNS优化
weixin_32771767的博客
11-29 455
一、前言网络优化是客户端几大技术方向中公认的一个深度领域,所以百度App给大家带来网络深度优化系列文章,其中包含系列《一》DNS优化,系列《二》连接优化,系列《三》弱网优化,希望对大家在网络方向的学习和实践有所帮助。百度起家于搜索,整个公司的网络架构和部署都是基于标准的internet协议,目前已经是全栈HTTPS,来到移动互联网时代后,总的基础架构不变,但在客户端上需要做很多优化工作。DNS(D...
【web前端性能优化DNS解析优化、网络部分优化、资源的合并与压缩、图片相关的优化
TwInkle
06-14 703
学习笔记: 性能黄金准则:只有10%~20%的最终用户响应时间花在了下载HTML文档上,其中的80% ~90%时间花在了下载页面中的所有组件上。 网站加载的速度严重影响用户体验,也决定着这个网站的生死存亡。下面总结一下前端工程师如何来提高页面的加载速度。 首先,我们要知道,浏览器从发送一个请求到返回都经历了什么? 第一步:浏览器提出域名解析请求,并将该请求发送给本地的域名服务器(domain 与...
Google DNS服务器遭BGP劫持:技术解析与安全警示
这次事件中,Google的公共DNS服务器IP 8.8.8.8遭受了长达22分钟的劫持,导致大量查询流量被重定向至委内瑞拉和巴西。DNS(Domain Name System)是互联网的重要基础设施,负责将域名转换为IP地址,使得用户可以访问...
写文章

热门文章

  • 前端项目总结干货 + 渡一、coderwhy、黑马、尚硅谷实操笔记(第二版,持续更新中~~~) 26129
  • 渡一大师课笔记(重点:事件循环、浏览器渲染原理) 10144
  • Vue,JS获取屏幕,浏览器高度宽度 2953
  • 内网穿透natapp工具一直显示惹人烦的红色Reconnecting 2163
  • Django开发(续接上文) 1610

最新评论

  • 渡一大师课笔记(重点:事件循环、浏览器渲染原理)

    weixin_42419013: 大佬还有资源吗,求分享 980119296@qq.com

  • 渡一大师课笔记(重点:事件循环、浏览器渲染原理)

    2401_85986239: 我有渡一的课

  • 渡一大师课笔记(重点:事件循环、浏览器渲染原理)

    m0_62238674: 求发一个

  • 我落地的一个最美博客

    monkey-papa: 欢迎大家体验表情包

  • 内网穿透natapp工具一直显示惹人烦的红色Reconnecting

    啊啊啊啊啊啊啊哈: 找了半天,校园网的问题表情包

大家在看

  • Gstreamer系列(5):Gstreamer在arm平台(Nano, Orin, Xavier等)使用硬编码对视频进行保存mp4,推拉流 523
  • 【Linux】解锁线程基本概念和线程控制,步入多线程学习的大门 1018
  • [Windows]文件搜索利器Everything(附zip) 449
  • java基础(6)抽象类和接口 604
  • 易语言快手协议批量点赞关注评论私信软件-修行者编程技术网站长张起灵开源创作

最新文章

  • Django开发(续接上文)
  • Django开发
  • 初识Django
2024年8篇
2023年57篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司公司优化网站选金苹果靠谱网站seo关键词优化公司网站服务器延迟较高怎么优化优化网站设计感上衣长春湖南网站优化推广国内做网站优化比较好的公司优化网站内部结构鄂城区网站排名优化要多少钱河南瓷砖行业网站优化推广方案漯河网站优化价格运城网站长尾关键词优化玉门市网站seo优化排名山东网站优化哪家最好网站首页优化公司多少钱一年宜宾长宁网站优化如何优化搜索网站排名禹州网站优化效果seo网站优化面试批发行业网站优化案例厚街网站优化价格宁波网站关键词优化报价扬州网站优化策划丹东网站长尾关键词优化张家界网站排名优化方案花钱推广后怎么优化网站网站seo优化靠谱网站手机端优化插件青浦区企业网站优化哪家好东城网站排名优化推广保定网站快速排名优化报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化