从服务器实时获取相同静态资源

解决浏览器缓存问题
本文介绍了一种通过JavaScript更改静态资源后缀名的方法来解决浏览器缓存问题,确保每次请求都能获取到最新的资源。

一、场景

需要从服务器实时获取同一静态资源,例如图片等,一般浏览器会进行缓存,所以刷新浏览器获取同名文件时会从缓存中找

二、解决方案

用js改变静态资源后缀名

<img id="img" src="/static/zz.png">

 

<script>
    $("#img").attr("src", "static/zz.png?temp=" + Math.random())
</script>

 

转载于:https://my.oschina.net/Cubicluo/blog/1632500

### 配置 Linux 上的静态文件服务器 #### Nginx 的安装与配置 为了在 Linux 系统上通过 Nginx 设置静态文件服务,需先确保已安装 Nginx。可以通过包管理器完成此操作,在基于 Debian/Ubuntu 的系统中命令如下: ```bash sudo apt update && sudo apt install nginx ``` 对于 CentOS/RHEL 类型的操作系统,则应执行[^1]: ```bash sudo yum install epel-release sudo yum install nginx ``` 启动并启用 Nginx 以便开机自启: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` 接下来编辑默认站点配置文件 `/etc/nginx/sites-available/default` 或创建新的虚拟主机配置文件来指定要提供访问权限的目录路径以及设置其他必要的参数。 一个简单的例子是在 `server{}` 块内加入以下指令以定义根目录和索引页面名称[^2]: ```nginx location / { root /var/www/html; index index.html index.htm; } ``` 保存更改后测试配置语法正确性,并重新加载 Nginx 应用新设定: ```bash sudo nginx -t sudo systemctl reload nginx ``` #### Apache HTTP Server 安装与配置 同样地,如果偏好使用 Apache 来部署静态资源服务器,可以按照下面的方法来进行准备环境的工作。 针对不同发行版系列分别运行相应的软件包更新与安装语句: Debian/Ubuntu 用户可利用 APT 软件源获取最新版本的服务端程序及其依赖项: ```bash sudo apt-get update sudo apt-get install apache2 ``` 而 Red Hat/CentOS 发行版则适用 YUM 工具处理相同任务: ```bash sudo yum install httpd ``` 激活服务进程并且将其设为随系统引导自动开启状态: ```bash sudo systemctl start httpd.service sudo systemctl enable httpd.service ``` 修改位于 `/etc/httpd/conf/httpd.conf`(CentOS) 或者 `/etc/apache2/apache2.conf`(Ubuntu) 中的相关选项,比如 DocumentRoot 和 DirectoryIndex 字段指向本地磁盘上的目标位置;另外还可以考虑调整 AllowOverride 属性允许 .htaccess 文件生效从而简化后续维护工作量。 最后一步也是至关重要的——验证改动无误之后重启 WebServer 让一切变更立即起效: ```bash sudo apachectl configtest sudo systemctl restart httpd.service ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值