前端工程之CDN部署

前端工程化详解——理解与实践前端工程化 前端工程化一直是一个老生常谈的问题,不管是面试还是我们在公司做基建都会经常提到前端工程化,那么为什么经常会说到前端工程化,并没有听过后端工程化、Java工程化或者Python工程化呢?我们理解的前端工程化是不是一直都是Webpack的性能调优,或者是一个cli工具呢?今天我们带着问题来一起寻找一下答案吧! 阅读详情

前端工程之CDN部署

之前发的一篇文章《变态的静态资源缓存与更新》中提到了静态资源和页面部署之间的时间间隙问题,这个问题会迫使前端静态资源发布必须采用非覆盖式。那篇文章中没有详细解释为什么会产生不可忍受的时间间隙,本文算是对它的补充。

之所以会产生部署时差,最主要的原因就是使用了CDN服务。

大型Web应用对速度的追求并没有止步于仅仅利用浏览器缓存,因为浏览器缓存始终只是为了提升二次访问的速度,对于首次访问的加速,我们需要从网络层面进行优化,最常见的手段就是CDN(Content Delivery Network,内容分发网络)加速。通过将静态资源缓存到离用户很近的相同网络运营商的CDN节点上,不但能提升用户的访问速度,还能节省服务器的带宽消耗,降低负载。


遍布全国的CDN节点和内容源示意图

不同地区的用户会访问到离自己最近的相同网络线路上的CDN节点,当请求达到CDN节点后,节点会判断自己的内容缓存是否有效,如果有效,则立即响应缓存内容给用户,从而加快响应速度。如果CDN节点的缓存失效,它会根据服务配置去我们的内容源服务器获取最新的资源响应给用户,并将内容缓存下来以便响应给后续访问的用户。因此,一个地区内只要有一个用户先加载资源,在CDN中建立了缓存,该地区的其他后续用户都能因此而受益。


使用CDN缓存技术加速网络访问速度

如上图所示,之所以不同地区的用户访问同一个域名却能得到不同CDN节点的IP地址,这要依赖于CDN服务商提供的智能域名解析服务,浏览器发起域名查询时,这种智能DNS服务会根据用户IP计算并返回离它最近的同网络CDN节点IP,引导浏览器与此节点建立连接以获取资源。

结合上述两点,为了使用CDN网络缓存,我们至少要对静态资源的部署做两项改变:

1.将静态资源部署到不同网络线路的服务器中,以加速对应网络中CDN节点无缓存时溯源的速度。

2.加载静态资源时使用与页面不同的域名,一方面是便于接入为CDN而设置的智能DNS解析服务,另一方面因为静态资源和主页面不同域,这样加载资源的HTTP请求就不会带上主页面中的Cookie等数据,较少了数据传输量,又进一步加快网络访问。

CDN服务基本上已经成为现代大型Web应用的标配,这项技术“几乎”是一种对开发透明的网络性能优化手段,使用它的理由很充分,但是这里既然强调了“几乎透明”而不是“完全透明”,是因为使用CDN服务所需要的两项改变对前端工程产生了一定的影响,而这些影响我在之前的文章中已经介绍了,就是前端工程必须引入非覆盖式发布的根本原因。


前端工程多米诺骨牌

上图向大家展示了整个前端静态资源缓存技术所带来的连锁性工程问题。很多人不理解为什么要选择FIS,而不是grunt,从本质上来说,工具并么有什么差异,只是fis的设计出发点是以上这些工程问题,设计中优先考虑了现代互联网应用是如何进行工程化部署与开发的,面临的问题是哪些,基于这些问题,要怎么解决。

比如我们在上图中可以看到,整个静态资源缓存技术的最终影响的节点是前端静态资源定位问题,而且前端资源定位又会进一步影响到开发,包括代码中的模块化加载、各种资源加载等。所以fis的设计核心之一就是资源定位。比如fis的核心配置roadmap,其目的就是为了解决在前端代码中的所有资源定位问题,连接开发和部署规范:

此外,fis的静态资源表生成功能也是为了给模块化框架提供加载部署到其他域名下的路径中md5戳的资源部署路径,并建立资源之间的依赖关系。

至于文件压缩之类的功能,那只是工具问题,而非工程问题。

codemirror6 制作markdown编辑器(源码模式) 总体上感觉能用,但是不怎么友好,官方文档有点散乱,而且关键字高亮功能是独立出去的,去官方文档找半天,也没找到怎么改。EditorView.theme可以往EditorView模块中修改CSS的样式,从而影响编辑器的样式展示。"### 测试\n\n```javascript\nlet x = 'y'\n```"这个插件中的markdown语法的高亮样式。//这里指定markdown中代码块使用的解析扩展。开头的class样式,并且还需要在选择器前面添加。//markdown语言解析扩展。 阅读详情

相关推荐

安装Quartus-II 13 和Modelsim

目录一、Quartus-II安装1.Quartus-II 13下载2.Quartus-II 13安装3.Quartus-II 13注册二、Modelsim安装 实验目的:安装Quartus-II 13 和Modelsim 实验环境:Windows10 参考资料:Quartus-II安装及使用 一、Quartus-II安装 1.Quartus-II 13下载 正点原子官方资料下载 百度网盘下载链接: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码:

qqq080的博客 8627

前端项目资源文件使用cdn加速

背景: 前端项目代码在上传到服务器以后 资源文件往往会很大 而使用的云服务一般带宽都会很小(带宽很贵) 所以资源往往需要放到cdn上面来加速 节约服务器的带宽 这里我们使用回源的方式来实现cdn加速 假设: oss(或其他云)的Bucket域名为https://static.hyf.cn 我们的站点域名为https://www.hyf.cn 项目名vue 资源文件名asset...

yef的博客 1万+

实战拆解:RAG vs Agent在金融风控中的性能对比

2024年上半年我帮某华东地区城商行做零售交易反欺诈系统升级时,技术团队曾发生过一次激烈争论:一派认为应该优先上RAG(检索增强生成)方案,成本低、落地快、合规性好;另一派坚持要上Agent(智能体)方案,推理能力强、能应对复杂新型欺诈。最终我们做了完整的AB测试,结论是两者没有绝对的优劣,只有场景适配的差异:RAG适合高并发、低时延的实时风控场景,Agent适合低并发、高准确率要求的事后核查/大额审批场景,两者结合的 hybrid 方案能覆盖95%以上的风控需求。本文我会结合真实项目的测试数据,从核心概念

AI天才研究院 251

前端工程CDN部署

大型的web引用对于速度的追求不仅仅局限于浏览器缓存,浏览器缓存只是为了提升二次访问的速度。对于首次访问我们需要从网络层面进行。最常见的手段就是CDN(Content Delivery Network,内容分发网络)加速,通过将静态资源缓存到距离用户很近的相同网络运营商的CDN节点上,不但可以提升用户访问的速度,还能节省服务器的带宽消耗。降低负载。 不同地区的用户访会访问到离自己最近的相同网络线路上的CDN节点,当请求达到CDN节点后,节点会判断自己的内容缓存是否有效。如果有效则立即响应缓存内容给用户,从而

sxm666666的博客 5193

EastWave应用案例:机箱屏蔽效能仿真

如何使用EastWave对机箱的电磁屏蔽效能进行仿真

2201_76034687的博客 1395

zynq+ad9361 petalinux使用官方IIO示波器调试记录

1ad9361 iio示波器

Yetob的博客 7993

在前端开发中,理解CDN(Content Delivery Network)及其作用

CDN是一种分布式网络服务,通过在全球范围内部署边缘节点,缓存和分发网站的静态资源,如HTML、CSS、JavaScript文件、图片和视频等,从而缩短用户与网站内容之间的物理距离,减少延迟,提高响应速度。CDN,即内容分发网络,是现代互联网架构中不可或缺的一部分,尤其在前端开发领域,CDN的运用极大地提高了网站的性能和用户体验。而对于静态资源,则可以设置较长的缓存时间。由于移动设备的网络状况可能较差,可以利用CDN的智能压缩和图像优化功能,针对移动用户自动提供更小的资源版本,以减少流量消耗和加载时间。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 3102

U3d WebGL使用ToLua

首先我们在编辑器模式下加入Tolua插件,然后配置修改到在编辑器模式下能够正常的运行。 同个U3d 插件Build出WebGL的工程,运行的时候你会发现(有些需要把这个WebGL工程放在一个HttpServer下面,直接本地访问index.html会被拒绝,让你使用http的格式)。 当要加载完的时候会出现 To use dlopen, you need to use Emscripten'...

qq_35267906的博客 2947

前端性能优化 | CDN缓存

通过使用CDN加载这些公库,可以将它们缓存在CDN的节点服务器上,提供更快速的加载和传输,无需在本地部署维护这些库的副本。:将网站的静态资源缓存在多个节点服务器上,当用户访网站时,大部分的资源可以从离用户较近的节点服务器上获取,少了对原始服务器的访问。减轻了源服务器的负载压力,节约了网络带宽的使用,提高了整体的网络效率。综上所述,CDN的作用是提供快速、可靠的内容分发服务,加速网站访问、节省网络带宽、提高可用性和稳定性,抵御网络攻击,提供高质量的视频内容传输,从而改善用户体验,提升网站的性能和效果。

前端梦工厂 2692

DeepSeek赋能公文写作:从高效成文到精准传情的全维度指南

摘要:AI赋能公文写作的精准化实践 公文写作长期面临框架混乱、素材匮乏、表达不规范、修改低效等痛点。DeepSeek等AI工具通过"精准指令+分步赋能"模式实现突破:首先明确公文的目的性、逻辑性和规范性特征;其次采用包含场景、类型、目的等要素的指令模板;再分四步实施:框架搭建确保层次分明,内容填充解决素材问题,表达优化适配不同语体,合规校验把关格式规范。典型案例显示,AI能将数据罗列转化为"数据+成果+价值"的生动表述,使公文既规范又具感染力。这种AI赋能的写作方法显

通俗易懂学IT 233

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1254

前端-CDN的理解及CDN一些使用平台

CDN是前端开发和优化及其他领域中不可或缺的一部分,它通过在全球范围内缓存和分发内容,提升了网站和应用的访问速度和用户体验。CDN平台比较多,像一些像静态图片。

m0_54850303的博客 2067

24. SAP 标准产品里使用 OData 服务的一些细节分享

笔者在编写使用事物码 SEGW 开发 SAP OData 服务的系列步骤时,但凡遇到技术上一些疑难问题,喜欢去参照 SAP 标准产品里是如何使用 OData 服务的,不少问题都可以去参考 SAP 标准产品的 OData 服务实现细节来解决。 因此本文记录笔者在编写本教程的过程中,曾经研究过的 SAP OData 服务实现的一些细节,把这些细节分享给大家,希望能起到参考作用。 同时,教程也不断收到一些朋友在评论区留言,对于不少留言的回复,我也是拿 SAP 标准 OData 服务的实现作为论据来回复的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2031

推荐三篇不错前端工程在CDN上部署文章

三篇不错的前端文章(CDN上部署),基本上覆盖了常见的所有的问题   大公司里怎样开发和部署前端代码? https://www.zhihu.com/question/20790576   前端工程之CDN部署 https://div.io/topic/930   变态的静态资源缓存与更新  https://div.io/topic/745   附带一篇CDN原理: CDN是...

everlasting_188-java从业者 1381

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

前端上线部署最佳实践

这是一个很有趣的,感觉和前端这个领域不太搭嘎的话题,今天这个话题主要是聊聊利用我们前端相关的解决方案来解决前端开发和相关上线发布优化的复杂问题。其实开启工程化始祖应该是facebook。 ok,那么接下来我们从最基本的技术原理开始讲起吧。 让我们从最先最原始的前端开发入手。如上所示是一个index.html页面与一个样式文件a.css,我们可以用我们最熟悉的文本编辑器进行编码,然后本...

qq_28773159的博客 2786

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

前端为什么非要动静分离 说一下CDN托管的意义

  大型Web应用对速度的追求并没有止步于仅仅利用浏览器缓存,因为浏览器缓存始终只是为了提升二次访问的速度,对于首次访问的加速,我们需要从网络层面进行优化,最常见的手段就是CDN(Content Delivery Network,内容分发网络)加速。通过将静态资源缓存到离用户很近的相同网络运营商的CDN节点上,不但能提升用户的访问速度,还能节省服务器的带宽消耗,降低负载。      ...

Fiona5201的博客 727

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

前端赋能业务 - Node实现自动化部署平台

转载自:yacan8https://github.com/yacan8/blog/issues/27前言是否有很多人跟我一样有这样的一个烦恼,每天有写不完的需求、改不完的BUG,每天撸着...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 393

大厂是如何开发部署前端项目

作者:张云龙 链接:https://www.zhihu.com/question/20790576/answer/32602154 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作者:张云龙,前百度工程师,曾负责百度 前端集成解决方案 的核心设计与开发工作。我现在称这个领域为【前端工程】。   没错,这是我最爱唠叨的问题域。这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中。   在我的印象中

qq_38861711的博客 694

前端工程化-构建工具-组件化

前端工程化-构建工具-组件化

power8988的博客 200

express-cdn与前端工程化:如何集成Sass/LESS预处理器与模块化开发

express-cdn是一款强大的Node.js模块,专为Express框架设计,能够实现资产的优化、压缩、混淆、gzip压缩以及通过Amazon S3和CloudFront CDN进行托管。它为前端工程化提供了全面的解决方案,尤其在集成Sass/LESS预处理器和实现模块化开发方面表现出色。 ## 为什么选择express-cdn进行前端工程化? 在现代前端开发中,工程化已经成为提升开发效率

gitblog_00137的博客 787

大型公司里开发和部署前端代码——引自前百度前端工程师

前百度工程师,张云龙,曾负责百度 前端集成解决方案 的核心设计与开发工作。我现在称这个领域为【前端工程】。没错,这是我最爱唠叨的问题域。这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中。在我的印象中,facebook是这个领域的鼻祖,有兴趣、有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫...

antuan1330的博客 194

大公司里怎样开发和部署前端代码?[转自知乎]

成为开源编程高手的11个技巧

向着全栈前进 1402

大公司里开发部署前端代码

作者:张云龙链接:https://www.zhihu.com/question/20790576/answer/32602154来源:知乎著作权归作者所有,转载请联系作者获得授权。 前百度工程师,曾负责百度 前端集成解决方案 的核心设计与开发工作。我现在称这个领域为【前端工程】。没错,这是我最爱唠叨的问题域。这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开...

dfug3303的博客 98

BAT大公司里怎样开发和部署web前端代码

BAT大公司里怎样开发和部署web前端代码

qq_43682537的博客 233
上一篇: 变态的静态资源缓存与更新
下一篇: 对象的值传递
狂奔的蚂蚱
博客等级 码龄10年 5粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值