如何构建可缓存站点

摘要:
减少HTTPS加密协议的使用。默认情况下,不会缓存通过HTTPS请求的资源。只能通过特殊配置缓存资源。如何向站点添加缓存机制以缓存HTTP请求/响应标头中的标头对。作为Web前端开发人员,我应该怎么做?

同一个资源保证URL的稳定性

URL是浏览器缓存机制的基础,所以如果一个资源需要在多个地方被引用,尽量保证URL是固定的。同时,比较推荐使用公共类库,比如Google Ajax Library等,有利于最大限度使用缓存

给Css、js、图片等资源增加HTTP缓存头,并强制入口Html不被缓存

对于不经常修改的静态资源,比如Css,js,图片等,可以设置一个较长的过期的时间,或者至少加上Last-Modified/Etag,而对于html页面这种入口文件,不建议设置缓存。这样既能保证在静态资源不变了情况下,可以不重发请求或直接通过304避免重复下载,又能保证在资源有更新的,只要通过给资源增加时间戳或者更换路径,就能让用户访问最新的资源

减少对Cookie的依赖

过多的使用Cookie会大大增加HTTP请求的负担,每次GET或POST请求,都会把Cookie都带上,增加网络传输流量,导致增长交互时间;同时Cache是很难被缓存的,应该尽量少使用,或者这在动态页面上使用。

减少对HTTPS加密协议的使用

通过HTTPS请求的资源,默认是不会被缓存的,必须通过特殊的配置,才能让资源得到缓存。建议只对涉及敏感信息的请求使用HTTPS传输,其他类似Css,Js,图片这些静态资源,尽量避免使用。

如何给站点增加缓存机制

HTTP请求/响应头中缓存报头对有效利用站点缓存,作为一个Web前端开发者,我要做什么呢?答案是:啥都不用做。不过要去推动Web运营人员、Web后端开发人员分别给服务器和动态脚本CGI增加合适的缓存报头。

服务器配置

Apache相关配置参考:mod_headersmod_headers

免责声明:文章转载自《如何构建可缓存站点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇新版Chrome自动禁用第三方插件的解决办法[转]ubuntu系统中dpkg lock问题分析及解决下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu常用软件安装

1.搜狗拼音输入法安装 https://ywnz.com/linuxjc/2891.htmlhttps://cloud.tencent.com/developer/article/1341770 2.谷歌安装: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd6...

Frp内网穿透安装教程#Frpc OpenWrt客户端安装#图形化管理

本文转自:https://blog.csdn.net/sugoods/article/details/108839840 注意事项:在OpenWrt环境下,一定要先安装frpc客户端再安装图形操作界面 luci-app-frpc,要不就会出问题。不要问我怎么知道的,反正按着我的步骤装就好。 一、路由器安装Frp客户端Frpc,按下面的操作步骤。目前最新版本...

sqlserver prompt工具的使用

【1】Prompt 下载安装 【1.1】下载 官网:https://www.red-gate.com/products/sql-development/sql-prompt/trial/index-b 国内代理(中文、以及非常详细具体的教程):慧都网 【1.2】安装 本文下载:https://download.red-gate.com/SQLPromptD...

laravel添加api缓存系统

项目背景:最初是想给接口加缓存,但是不想每个接口添加缓存代码,就写了个统一的缓存系统。 技术方案: 本项目使用laravel框架 监听requestHanled事件写入缓存 添加apiCache中间件,对每个get访问进行拦截,检查是否有缓存,如果有,就读取缓存就返回,如果没有,就执行下一个中间件。 前置知识: laravel框架基础知识 event...

sqlmap介绍与使用案例

作者:虫儿飞ZLEI链接:https://www.jianshu.com/p/3d3656be3c60来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 sqlmap介绍与使用案例 1.sqlmap简介 最白话的介绍就是sqlmap是一个工具,一个用来做sql注入攻击的工具 2.windows安装python2 这个sqlmap...

uni-app 数据缓存(setStorage)

uni-app 数据缓存(setStorage) 1 <template> 2 <view> 3 4 </view> 5 </template> 6 7 <script> 8 var_self; 9 export default{ 10 data() {...