前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)

探讨了页面加载卡顿的原因并提出了多种优化方法。主要原因包括项目包或第三方脚本过大、JavaScript 执行阻塞页面加载、图片体积大且多等。优化策略包括构建缩包按需加载、减少图片体积等。文章还详细介绍了如何通过 Webpack 插件分析项目中用到的 npm 包及大小,以及如何通过调整图片尺寸、格式转换、压缩等方式减小图片体积。

理解 Serverless 无服务架构原理[转]

介绍了 serverless 的概念、架构组成 (BaaS 和 FaaS)、与传统架构的区别、优缺点及适用场景。serverless 通过事件驱动和第三方管理,降低了开发、运营和启动成本,适合构建轻量级、高弹性应用,但存在冷启动延迟、高并发限制及对服务商的依赖等问题,常用于通知发送、数据统计、定时任务和聊天机器人等场景。

读书笔记:《图解 HTTP》 - [日]上野宣 著 / 于均良 译

全面介绍了 HTTP 协议的基础概念、工作原理及相关技术,包括 TCP/IP 分层、URI 与 URL 的区别、Cookie 状态管理、首部字段功能,以及 HTTP 的安全性缺陷与 HTTPS 的加密保护机制。同时涵盖了基于 HTTP 的协议优化 (如 SPDY、WebSocket) 和常见网络攻击类型 (如 XSS、SQL 注入、会话劫持),为理解 Web 技术和网络安全提供了深入指导。

浏览器与 Node.js 的事件循环 (Event Loop) 有何区别?[转]

概述了 JavaScript 的异步原理,比较了浏览器与 Node.js 中 Event Loop 的差异。介绍线程与进程的概念、多线程模型及浏览器内核的多线程机制,详细解析了浏览器和 Node.js 的事件循环流程,包括宏任务与微任务的执行顺序、`setTimeout` 与 `setImmediate` 的区别、`process.nextTick` 的优先级等,最后总结了两者在任务队列执行时机上的不同。

HTTP 跨域时的 options 请求[转]

介绍了浏览器在跨域请求时的预检机制,区分简单请求与非简单请求。简单请求直接发送,非简单请求需先发起预检 (options 请求),确认服务器许可后再进行正式请求。请求头包含 origin 信息,服务器通过 Access-Control- 开头的字段进行跨域控制。非简单请求需预检,确保服务器允许后才携带 cookie 和参数进行正式请求。

PHP file_get_contents 和 curl 区别

介绍了 PHP 中 file_get_contents 和 curl 的定义、语法及用法示例,file_get_contents 适用于简单的文件读取,支持基本的 GET 请求;curl 功能更强大,支持多种协议、Cookie 模拟、FTP 操作及 DNS 缓存,适合高访问量场景。curl 性能更优但配置复杂,而 file_get_contents 更适合小型应用。