浏览器Referer & 页面布局
一、Referer
定义:HTTP 请求头的可选字段,值为 “触发当前请求的上一个页面 URL”(即 “来源 URL”)。
核心作用:服务器通过 Referer 识别请求来源,实现「来源统计、防盗链、权限校验」等功能;
由浏览器自动生成(前端无法直接修改,只能通过配置 Referrer Policy 控制其取值),后端可读取、可校验。
busuanzi 网站访问量统计,是基于Referer实现的, 所以针对 动态DOM 实现的前端文章加载路由, 会出现无法统计到页面的问题。
1.1 动态DOM
根据用户操作、数据变化、时间触发等条件动态调整,现代前端交互(如 SPA、表单校验、实时数据展示)的核心基础
1.2 SPA
SPA(Single-Page Application,单页应用)是一种仅加载一次 HTML 页面,后续通过动态 DOM 操作和异步数据请求更新页面内容的 Web 应用架构。
所有交互、路由切换、内容更新都在同一个 HTML 文档内完成,是现代前端(如 Vue、React、Angular)的主流应用形态。
1.2.1 SPA 的核心技术支撑
路由方式:Hash 路由、History 路由
1.2.2 SPA的痛点
首屏加载慢、SEO 不友好 、路由管理复杂、内存泄漏风险
SPA 适合对交互体验要求高、逻辑复杂的 Web 应用,典型场景:
1.后台管理系统:如电商后台、OA 系统、数据可视化平台(无 SEO 需求,交互密集);
2.社交 / 内容平台:如知乎、掘金、微博(无刷新切换内容,提升用户体验);
3.工具类应用:如在线文档、绘图工具、代码编辑器(实时交互,无刷新操作);
4.移动端 Web 应用:如微信公众号 H5、移动端官网(接近原生 APP 的流畅体验)。