性能优化 - 你知道dns-prefetch有什么用吗

难度级别:中级及以上                                 提问概率:50% 


我们在HTML文档里写一个script标签,为src属性指定Javascript文件网络地址,这是一件再平凡不过的事情。当浏览器加载HTML文档,加载到这个script标签的时候,就会去下载Javascript文件。而在下载之前,就需要知道文件部署的服务器在哪里,几乎所有的Javascript文件地址都是采用网络协议加域名的形式,而非网络协议加IP地址的形式,所以浏览器下载Javascript文件之前非常重要的一件事就是,对域名做DNS解析,从而获得域名对应的IP地址。

为了访问DNS服务,通过域名获取IP地址,浏览器需要从当前客户端的系统、距离最近的路由器甚至是运营商的DNS缓存服务去依次查询,所以这个查询过程还是比较耗时的。为了减少因DNS解析所带来的网络延迟,我们需要采用dns-prefetch预解析的方式,提前对跨域的Javascript文件的域名进行预解析。如果当前网站的访问路径为https://www.test.com,那么使用dns-prefetch预解析的代码就像这样

HTML代码:
<!doctype html>
&

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

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

相关文章

✌2024/4/3—力扣—Z 字形变换

代码实现&#xff1a; char* convert(char *s, int numRows) {int len strlen(s);if (len 0 || numRows 1) {return s;}char *a (char*)malloc(sizeof(char) * (len 1));a[len] \0;int k 2 * numRows - 2;int n 0;for (int i 0; i < numRows; i) {for (int j 0; j…

ES学习日记(十一)-------Java操作ES之基本操作

前言 此篇博客还是一些基础操作&#xff0c;没什么可写的&#xff0c;需要的同学直接抄作业进行测试就可以 上一节写了连接和测试新增操作,这一节写java操作ES的基本操作,也就是增删改查,在这里补充一点知识,我们之前用了指定的索引进行指定添加 有一个情况是,如果我们指定了…

计算机网络-TCP断开连接阶段错误应对机制

连接断开阶段 四次挥手机制&#xff1a;TCP连接的断开需要四次挥手&#xff0c;这是因为双方都需要独立地关闭数据传输。第二次和第三次挥手不能合并&#xff0c;因为在回复第二次挥手的时候&#xff0c;可能还有数据没有接收完成&#xff0c;所以需要先回复ACK报文&#xff0c…

单片机IGBT驱动电路一例

概述&#xff1a; 驱动的作用有三个&#xff1a; 1.是作为放大器获得所需要的驱动电压。 2.是提高输出电流能力。 3.是进行功率回路和控制回路的隔离 信号从MCU到IGBT驱动芯片 首先驱动电流需要放大 MCU的输出电流是mA级别&#xff0c;而IGBT需要的驱动电流可能达到几安培…

基于小程序+ssm实现的悬赏信息发布系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…

ubuntu系统安装k8s1.28精简步骤

目录 一、规划二、环境准备2.1 配置apt仓库配置系统基本软件仓库配置k8s软件仓库安装常用软件包 2.2 修改静态ip、ntp时间同步、主机名、hosts文件、主机免密2.3 内核配置2.4 关闭防火墙、selinux、swap2.5 安装软件安装docker安装containerd安装k8s软件包 三、安装配置k8s3.1 …

【linux】基础IO(三)

上一节基础IO我们着重理解了重定向与缓冲区&#xff0c;这节我们需要重点理解文件再磁盘中是怎样存储。以及上一节我们没有涉及到的知识。 stderr到时有什么用&#xff1f; 目录 fd-> 0 1 2&#xff1a;初步理解2怎样将错误与正确输出都打印在一个文件&#xff1f; 文件在硬…

如何从应用商店Microsoft Store免费下载安装HEVC视频扩展插件

在电脑上打开一张HEIC类型的图片提示缺少HEVC解码器&#xff0c;无法打开查看&#xff0c;现象如下&#xff1a; 这种情况一般会提示我们需要下载安装HEVC解码器&#xff0c;点击“立即下载并安装”会跳转到应用商店&#xff0c;但是我们发现需要付费7元才能下载安装 免费安装…

独家福利:Figma汉化大礼包,让UI设计零障碍!快来领取吧!

Figma是国外开发的软件。全英文页面限制了国内很多UI设计师的发挥&#xff0c;只能用Figma中文插件中文使用。Figma中文插件虽然不如中文版好用&#xff0c;但基本可以理解意思。那么Figma中文插件在哪里可以下载呢&#xff1f;下面介绍两种Figma中文插件的下载和安装方法&…

Redis数据库②高可用+持久化+性能管理

目录 一.高可用 二.持久化 1.Redis 提供两种方式进行持久化 2.RDB 持久化 &#xff08;1&#xff09;手动触发 &#xff08;2&#xff09;自动触发 &#xff08;3&#xff09;执行流程 &#xff08;4&#xff09;启动时加载 3.AOF持久化 &#xff08;1&#xff09;开…

如何进行软件质量评估?

一、为何评估 软件质量评估的重要性体现在以下几个关键方面&#xff1a; 确保用户需求满足&#xff1a; 软件质量评估首先是为了确保软件产品能够准确、完整地满足用户的需求。通过评估&#xff0c;可以发现软件在功能、性能、安全性等方面的不足之处&#xff0c;及时进行修正…

uniapp中自定义tabbar无法跳转?如何解决

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

0基础如何进入IT行业?一文揭秘成功蜕变之路!|TodayAI

一、引言 在数字化转型的浪潮下&#xff0c;IT行业的魅力日益增强&#xff0c;吸引了大量跨领域人才的关注。然而&#xff0c;对于那些零基础的人来说&#xff0c;进入这个充满机遇和挑战的领域似乎是一条充满未知和困难的道路。本文旨在探讨零基础者如何通过有效的学习路径、…

1688详情API接口:解锁多元化应用场景java php c++

随着互联网的快速发展&#xff0c;数据交换和信息共享已成为企业日常运营不可或缺的一部分。在这样的背景下&#xff0c;API&#xff08;应用程序接口&#xff09;接口作为实现数据互通的重要工具&#xff0c;受到了越来越多企业的青睐。1688详情API接口作为阿里巴巴旗下的重要…

Games101Homework【6】Acceleration structure(Including framework analysis)

Code Analysis&#xff1a; friend&#xff1a; C中友元&#xff08;友元函数和友元类&#xff09;的用法和功能_friend class a<b>-CSDN博客 [C&#xff1a;不如Coding]&#xff08;11&#xff09;&#xff1a;友元函数与友元类_哔哩哔哩_bilibili Here is a simple…

C++模仿qq界面

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口的大小this->resize(645,497);//设置窗口名字this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(QIcon("C:\\zhouzhouMyfile\\qt_proj…

C语言结构体大小

1、结构体成员类型 结构体成员的类型&#xff0c;不同的结构体成员占用的内存大小不同 2、结构体对齐 为了提高内存访问的效率&#xff0c;编译器会对结构体进行对齐。对齐的方式是按照成员的类型和顺序来进行的。对齐的目的是为了让结构体成员的地址能够被整除&#xff0c;从…

✌2024/4/3—力扣—字符串转换整数

代码实现&#xff1a; int myAtoi(char *str) {long ret 0;int flag 1; // 默认正数// 去除空格及判断符号位while (*str ) {str;}if (*str -) {flag -1;str;} else if (*str ) {str;}// 排除非数字的情况if (*str < 0 || *str > 9) {return 0;}while (*str > …

[C++][算法基础]堆排序(堆)

输入一个长度为 n 的整数数列&#xff0c;从小到大输出前 m 小的数。 输入格式 第一行包含整数 n 和 m。 第二行包含 n 个整数&#xff0c;表示整数数列。 输出格式 共一行&#xff0c;包含 m 个整数&#xff0c;表示整数数列中前 m 小的数。 数据范围 1≤m≤n≤&#x…

真实的招生办对话邮件及美国高校官网更新的反 AI 政策

这两年 ChatGPT 的热度水涨船高&#xff0c;其编写功能强大&#xff0c;且具备强大的信息整合效果&#xff0c;所以呈现的内容在一定程度上具备可读性。 那么&#xff0c;美国留学文书可以用 ChatGPT 写吗&#xff1f;使用是否有风险&#xff1f;外网博主 Kushi Uppu 在这个申…