服务器端优化我们网站的速度时,缓存是最关键的技术之一。
加速站点需要缓存:它不是让服务器为每个请求动态创建HTML输出,而是仅在第一次请求HTML之后创建HTML,缓存它,然后从此开始提供缓存版本,缓存提供更快的响应,并释放服务器中的资源。从服务器端优化我们站点的速度时,缓存是最重要的任务之一。
生成页面的HTML输出时,如果它包含具有用户状态的代码,例如为登录用户打印欢迎消息“Hello {}!”,则无法缓存该页面。否则,如果有人首先访问该站点,并且缓存了HTML输出,那么所有用户都会受到“Hello!”的欢迎。
因此,缓存插件通常会在用户登录时禁用缓存,如下面的插件WP Super Cache所示:
禁用已登录用户的缓存是不可取的,应该避免使用,因为即使具有用户状态的HTML代码量与页面中的静态内容相比最小,仍然不会缓存任何内容,原因是要缓存的实体是页面,而不是页面中HTML代码的特定部分,因此通过包含一行不能缓存的代码,就不会缓存任何内容,这是一种全有或全无的情况。
通常为了解决这个问题,我们会搭建服务器,以避免在服务器端使用用户状态呈现HTML代码,并在通过API获取所需数据后,仅在客户端呈现它,通过从服务器上呈现的代码中删除用户状态,即使用户已登录,也可以缓存该页面。
我们也正在探索一种增强网站缓存的方法 ,主要是为了即使在用户登录时也能在网站上启用缓存,策略依赖于仅对那些需要用户状态的页面禁用缓存,以及使用哪些组件可以决定是在客户端还是在服务器端呈现,具体取决于访问用户状态的页面。
最后我们坚信一个网站缓存技术发展,从而提供更快的响应和更好的用户体验。
领取专属 10元无门槛券
私享最新 技术干货