首先我们要明白静态化系统是什么,有哪些属性?只有先了解基本属性才谈得上有目标地改造。
静态系统通常有如下特征。
一个页面对应的URL通常固定。不同的URL表示不同的内容,也就是通过URL能唯一标识一个页面。
页面中不包含浏览者的相关因素。页面中不能包含与浏览者相关的因素,这里所说的“不能包含”不包括JS动态生成的部分,也就是页面中HTML代码不能显式地含有浏览器相关的DOM,如不能含有用户的姓名、身份标识以及Cookie相关的因素等。
页面中不包含时间相关的因素。页面同样不能含有时间(这里的时间不是指客户端浏览器中获取的时间,而是服务器端输出的时间)相关的因素,不能随着时间的变化导致页面中的DOM结构发生变化。比如在秒杀活动中,一到某个时间点,页面中的“立即购买”按钮就可以使用一这个时间点就是从服务器端获取的时点。
页面中不包含地域因素。这个很好理解,即从北京访问的页面要和从上海访问的页面相同。商品详情页面上的宝贝运费就是典型例子:不同地区的运费不一样。如果要做成静态化的,这个运费就不能直接反映在HTML代码中。
不能包含Cookie等私有数据。Cookie实际上主要是用来标识访问者信息的工具,如果页面中包含这些私有数据,也就不可能不包含上面这些信息了。所以要满足静态化,就不能包含Cookie信息。
再强调一下,网站建设静态化页面不仅是传统意义上完全存储在磁盘上的HTML页面,它也可能是经过Java系统产生的页面,但是它输出的页面本身不包含上面这几类信息;页面中“不包含”是指页面的HTML源码中不包含,这一点务必要清楚。