龙空技术网

说说URL的静态化

明月登楼 128

前言:

此时你们对“php静态页面”大致比较关怀,我们都需要剖析一些“php静态页面”的相关文章。那么小编同时在网络上搜集了一些对于“php静态页面””的相关知识,希望小伙伴们能喜欢,咱们一起来了解一下吧!

今天给大家聊聊网站运营必然会碰到的话题——URL 的静态化。这里的静态化指的是一种网页技术,可不是能动的 gif 图片形式,一般这类 URL 都有一个默认的后缀名.html/.htm,理论上来说这个后缀只能算是一种约定俗成,你甚至可以用.123 都可以,只要文件内容遵循超文本标记语言(HTML)标准,都可以被浏览器正常的解析。说白了,所谓的静态网页技术其实就是以超文本标记语言(HTML)为主体的文本内容而已,借助超文本标记语言(HTML)可以引用图片、音乐、视频并完成文字的排版等等。

什么是静态化、动态化、具体区别在哪里?

既然有静态化就相对的有动态化,理论上动态化网页依旧是在超文本标记语言(HTML)基础上加入了具备更强运算能力的第三方编程语言,如:PHP、ASP、JSP 等等,借助这些语言甚至可以连接数据库让网页具备存储、查询、搜索数据,这也是大数据时代的雏形和开始的前奏了。

对于我们博客站长来说静态和动态的最主要区别其实就是是否依赖 PHP/MySQL(后端语言/数据库组合之一),也就是网页是否需要后端的运算和数据支撑,比较著名例子如:WordPress 、Typecho 等系统平台都是动态化的博客网站系统产生的网页就是动态网页。相反,织梦 CMS、帝国 CMS 等这些反而是依赖于动态化后端服务器环境生成输出独立.html/.htm 文件,我们称为是静态网页(注意因为这种还是有后端运算的依赖,所以依旧不能算是纯静态网页的哦!),还有一种借助专业网页设计软件(如:Adobe Dreamweaver等)制作完成的.html/htm,称为是纯静态网页(哪怕是这种文件里有大量的 Flash 元素媒体组成也依旧是纯静态网页)。

总之,静态页面特点:相对更新起来比较麻烦,适用于一般变更频率低、没有互动需求、更新慢的展示型网站。

静态页面优点可以公开(即副本可以证明给任何人)。无需网络服务器或应用服务器,可以存储在储存介质中,通过网络浏览器直接访问。网站更安全,HTML 页面不会受到网络服务漏洞影响,而且可以减少攻击,防 SQL 注入。数据库出错时,不影响网站正常访问。不需要编译,所以速度快,节省服务器资源。网址格式友好,搜索引擎容易识别。静态页面缺点内容是固定的,互动性差,内容更新维护复杂。没有自动化的工具,维护大量的静态页面文件是不现实的。无法充分支持用户/客户的需求(外观选择、浏览器的支持、Cookie、实时互动等等)。

动态网页简单点总结就是需要后端在数据库里查询获取到内容并经过运算处理后实时呈现输出成网页到前端的一种网页技术。

动态网页优点搜索引擎优化:当搜索引擎爬虫爬取内容时,低级爬虫爬取动态网站时,可能页面是空的,不利于搜索引擎优化。白屏时间更短:由于服务端已经得到了一个 HTML 文本,浏览器直接进行解析,生成 DOM 就呈现出来了。而客户端渲染,要先得到空的 HTML,在逐步加载执行 JavaScript 代码,需要分步启动,就可能会出现请求等待白屏。动态网页缺点由于需要许多运算处理,需要在服务器执行,可能会出现兼容性问题。会增加项目的整体复杂度。服务器负载压力较大。

综上所述可以看出来,静态页面很明显不适合当前互联网生态的发展了,在 Modem 拨号、GREP 上网的时期静态网页还可以游刃有余,但到了自媒体盛行开始动态网页才真正大行其道了,随着网络带宽、云服务器技术让服务器成本越来越低,动态网页唯一的阻力消失殆尽终于可以大放异彩了,发展至今已经跟我们的生活密不可分,遍布各种领域。

什么是伪静态化?

因为早年间(至少是二三十年前)搜索引擎技术不够成熟以及硬件成本的原因,对于非静态化网页不够友好和主动,为了提升和加强搜索引擎对动态网页的收录,人们提出了借用服务器后端编程手段实现的——伪静态化技术,就是借助服务器后端重写(Rewrite)动态网页地址伪装成静态网页.html/.htm 这样后缀的网址,以达到“欺骗”搜索引擎完成收录的目的,虽然是“欺骗伪装”,但伪静态化的文件内容依旧是遵循超文本标记语言(HTML)标准的,所以最多算是“化妆+开了美颜”,这也就是“伪”的由来。

伪静态化唯一的缺点就是由于依赖后端的运算处理需要服务器 CPU 的运算,在面对大量的并发请求的时候会对服务器负载造成很大的压力,这也让 DDos/CC 这类网络攻击技术有了用武之地,轻轻松松的就可以让一台动态网页因为伪静态化运算而宕机,让服务器硬件成本大大的增加了。不过,凡事都是有利必有弊的,由此 CDN 技术(内容分发网络技术)也应运而生了,也让伪静态化又多出来一个很明显的优点就是速度优化空间。借助 CDN 技术可以大大减少服务端伪静态化运算的负载,有效的降低了硬件成本的投入。

其实,明月不认为 CDN 是一种加速技术,称其为是速度均衡反而更加准确些,通俗点儿说就是让每个访客都能体验到直接访问服务器的体验,不受或者很少受到带宽、区域、网络条件的影响。

伪静态化在 CDN 优化中的重要性

静态只是相对于后端的一个泛称,上面我们说的都是静态网页,其实还有静态文件、静态媒体文件等等,像图片 PNG/JPG/JPEG、动画 Gif/SWF、文字 CSS/JS/TXT 这些都可以归类到静态范畴里,甚至 MP4/MP4 这类视频、音频文件也属于是静态媒体文件的,理论上只要是静态范畴的都可以借助 CDN 来实现速度均衡的浏览体验,也就是俗称的 CDN 加速优化。

伪静态化的重要性就是在 CDN 优化里可以成倍的提升缓存命中率,就像明月目前使用的 Dragon 主题自从伪静态化 timthumb 缩略图链接后,CDN 的缓存命中率就实现了成倍的提升,用户访问速度提升的同时还有效降低了服务器端的负载压力。如果你的站点不需要客户评论互动和注册登录这些动态请求,伪静态化的.html/.htm 也就可以通过 CDN 来优化,效果几乎同上哦。

虽然,搜索引擎对伪静态化的依赖几乎已经没有了,但伪静态化又在 CDN 优化中继续发挥着预热,并且可以说有的时候起到了决定性的作用,甚至可以说 WordPress 、Typecho 这类动态博客系统的 CDN 优化效果其实就是取决于伪静态化和静态化的。

当然像 WordPress 也可以借助插件(如:Really Static)来直接生成输出纯静态化的.html/.htm,但明月并不建议这么去做,因为这也意味着会失去网页的互动和沟通了,并不适于大部分网站的需求的。借助 CDN 会更加的灵活和高效,唯一的瑕疵就是可能会产生流量成本费用吧。

总之,静态网页基本已经是被时代淘汰了,未来很长一段时间都会是动态网页的天下,随着前端、后端技术的迭代,静态网页在速度方面的优势会越来越弱,相反动态网页的发展只能会更加的宽广顺畅。CDN 技术在未来支持动态网页已经是板上钉钉了,并且还会附增更加智能的安全防护能力。奉劝各位站长不要在纠结于静态和动态的选择了,顺应时代是不会错的!

标签: #php静态页面