前端

本文详细介绍高性能网站建设所需的技术栈,包括SublimeText和VIM插件、HTTP协议、浏览器工作原理及其兼容性问题解决方案,同时提供了多种性能优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《高性能网站建设指南》《高性能网站建设进阶指南》
SublimeText插件:SublimeCodeIntel、Emmet、SublimeLinter、Git +Gutter

VIM:
插件管理:vim-pathogen
必备插件:
    装逼插件:Airline
    编码风格:EditorConfig
    自动完成:vim内置
    编码加速:Emmet
    版本控制:Fugitive
    代码检查:Syntastic
    
                            HTTP协议
无状态、B/S模式、多基于TCP协议,2XX表示请求成功,3XX表示跳转,4XX表示客户端请求错误,5XX表示服务器错误。

Request Headers:
Accept:可以接受什么类型的内容
Accept-Encoding:可以接受什么编码
Cookie:http是无状态的,下一个请求不知道上一个请求,就通过cookie解决,
Referer:我是从哪个页面来的,Referer在浏览器安全里面是不润许改的,别人是控制不了这个Referer的,
User-Agent:标识当前浏览器
《HTTP权威指南》《TCP/IP详解》


                            浏览器工作原理:
用户输入一个url:www.baidu.com,
1.首先把url的域名拖出来,做DNS解析(多级缓存,缓存都是为了加速),先会去浏览器缓存找,然后在本机操作系统里面,然后在局域网路由器,然后在公司网的路由器,一级一级找到域名,解析完DNS就找到了主机。
2.请求资源(TCP建立链接,HTTP报文),先建立一个socket然后发http报文,等待响应,对响应做解析,根据响应头和状态码做不同的处理。做一些缓存处理,对压缩文件做解压,对引用的资源css/js/图片,
3.构建DOM树(节点)
4.构建CSSOM树
5.构建Render树
6.脚本:文档状态
7.渲染页面

                            Repaint + Reflow
Repaint:皮肤类外观改变会引发重新渲染,如background-color,不会重新计算元素的位置
Reflow:元素位置、大小、盒模型等发生变化需要重新布局
常见引发事件:
    1.页面滚动
    2.页面硕放
    3.添加样式
    4.操作DOM(属性、样式、增删节点)
    5.仅仅计算元素宽高位置
    

                                浏览器兼容
如何发现问题:QuirksMode、CanIUse
如何解决问题:BrowserHacks、ES5Shim、ES6Shim、json3、html5 shim
彻底解决问题:Modernizr、Feature.js

QuirksMode:列出兼容性列表
CanIUse:查村js特性、css属性、h5等的支持情况(推荐,更新)

BrowserHacks:不同浏览器及版本支持
Shim:对浏览器不支持的,以打补丁方式,修改老浏览器内容的原型,
ES5Shim、ES6Shim在github上面有。
Modernizr:浏览器特征检测库
Feature.js:类似于Modernizr,更轻量,不支持css


Modernizr:保证老版本兼容性,新版本根据支持情况让用户体验更好
1.全局安装
2.获取配置:自定义构建
3,生成构建:命令行用法
4.引入生成的脚本
5.使用js+css


                                性能优化
减少网络请求:
1.合并请求:包括js、css
2.使用css sprite
3.使用地图:HTML Map
4.内联小图片:Base64Encode

使用内容分发网络CDN:
1.DNS解析位置地图上离用户最近
2.专业的公司提供服务

适当使用缓存:
1.为静态资源添加Expires响应头
2.为静态资源添加Cache-Control响应头
3.配置Apache、Nginx、Express缓存

使用GZIP压缩()
1.大幅度减少网络传输体积,压缩率达60%-90%,减少网络传输时间

减少DNS查找
1.单个站点不要使用太多域名
2.单次DNS查找约消耗20-120ms

避免重定向
1.重定向意味着浏览器重头再来
2.每次重定向要50ms

配置有效的过期规则
1.跟浏览器说明最后更新时间和过期规则,没有修改服务端直接返回304

让ajax异步请求可缓存

尽快输出第一个字节
1.尽快输出页面头部,浏览器可以尽快干活
2.并行下载外联css

使用无cookie域名加载静态资源
1.减少静态资源加载时的网络传输量
2,静态资源加载通常不需要cookie

把css放在head中加载
    能让页面更早的开始渲染,避免闪屏
js放在body末尾
    js会阻塞HTML解析和css渲染
不用css表达式
    兼容性问题,性能开销大,可能导致页面卡顿
用外联引用css和js
    减小html体积
    可合理利用浏览器缓存
压缩js和css
    删除不需要的注释空白
    js变量名压缩,混淆压缩
不重复加载js
    重复加载js会多个请求,不能发挥缓存优势
Get方式发送ajax
    get可以缓存,更加语义化
组件延迟加载
    保障页面关键资源优先加载
    例如:Lazyload按需加载
减少dom节点数
    更多节点数浏览器布局渲染计算量更大
避免使用iframe
    会阻塞父文档的onload
    即使空白iframe也比较耗时
减少cookie体积
    js/css/图片 每次请求都会带上,使用无cookie域名加载静态资源
减少js的dom访问
    对于查找到的元素,缓存在js变量中
    节点增加合理使用DocumentFragment
    不要用js频繁修改样式
图片优化
不要html缩放图片
    增加渲染开销
    不要清空图片的src清空
    任何资源尽量在25k以内

                            性能诊断工具
YSlow:23条规则,打分,提供浏览器插件
WebPageTest:真实浏览器检测,视频截图
GooglePageSpeed:
(国内)性能魔方:性能评测公司
阿里测:
17CE:偏于运维


    

 

转载于:https://www.cnblogs.com/yaowen/p/7027385.html

内容概要:本文深入解析了扣子COZE AI编程及其详细应用代码案例,旨在帮助读者理解新一代低门槛智能体开发范式。文章从五个维度展开:关键概念、核心技巧、典型应用场景、详细代码案例分析以及未来发展趋势。首先介绍了扣子COZE的核心概念,如Bot、Workflow、Plugin、Memory和Knowledge。接着分享了意图识别、函数调用链、动态Prompt、渐进式发布及监控可观测等核心技巧。然后列举了企业内部智能客服、电商导购助手、教育领域AI助教和金融行业合规质检等应用场景。最后,通过构建“会议纪要智能助手”的详细代码案例,展示了从需求描述、技术方案、Workflow节点拆解到调试与上线的全过程,并展望了多智能体协作、本地私有部署、Agent2Agent协议、边缘计算插件和实时RAG等未来发展方向。; 适合人群:对AI编程感兴趣的开发者,尤其是希望快速落地AI产品的技术人员。; 使用场景及目标:①学习如何使用扣子COZE构建生产级智能体;②掌握智能体实例、自动化流程、扩展能力和知识库的使用方法;③通过实际案例理解如何实现会议纪要智能助手的功能,包括触发器设置、下载节点、LLM节点Prompt设计、Code节点处理和邮件节点配置。; 阅读建议:本文不仅提供了理论知识,还包含了详细的代码案例,建议读者结合实际业务需求进行实践,逐步掌握扣子COZE的各项功能,并关注其未来的发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值