对于站点中不经常修改的静态内容(如图片,JS,CSS),可以在服务器中设置expires过期时间,控制浏览器缓存,达到有效减小带宽流量,降低服务器压力的目的。
以Nginx服务器为例:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { #过期时间为30天, #图片文件不怎么更新,过期可以设大一点, #如果频繁更新,则可以设置得小一点。 expires 30d; } location ~ .*\.(js|css)$ { expires 10d; }
【背景】:Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。
【相关资料】1、Cache-control策略Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。
http协议头Cache-Control :值可以是public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age各个消息中的指令含义如下:
Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
Last-Modified/If-Modified-Since
Last-Modified/If-Modified-Since要配合Cache-Control使用。
Last-Modified:标示这个响应资源的最后修改时间。web服务器在响应请求时,告诉浏览器资源的最后修改时间。
If-Modified-Since:当资源过期时(使用Cache-Control标识的max-age),发现资源具有Last-Modified声明,则再次向web服务器请求时带上头 If-Modified-Since,表示请求时间。web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的最后修改时间进行比对。若最后修改时间较新,说明资源又被改动过,则响应整片资源内容(写在响应消息包体内),HTTP 200;若最后修改时间较旧,说明资源无新修改,则响应HTTP 304 (无需包体,节省浏览),告知浏览器继续使用所保存的cache。
http://jingyan.baidu.com/article/c35dbcb037b51e8916fcbcc2.html
分享到:
相关推荐
通过理解以上知识点并根据实际情况调整配置,通常可以解决Nginx访问静态文件不下载的问题。如果还有疑问,可以参考提供的“nginx访问静态文件不下载.pdf”文档,它可能包含了更详细的步骤和示例。
总结,通过以上三个步骤,我们可以在 Nginx 中配置静态文件的缓存,有效提高静态资源的访问速度。在实际应用中,可以根据具体需求调整缓存策略和缓存大小,以达到最佳性能和资源利用率。同时,监控缓存命中率和清理...
以上就是关于Nginx发布前端静态文件的基本配置。理解并熟练掌握这些配置,将有助于构建高效、可靠的Web服务。不过,实际部署时还需要根据具体需求进行调整,例如SSL/TLS证书配置、访问日志记录等。在实践中不断学习...
这个配置文件将静态资源和动态资源分离,使用Nginx服务器来处理静态资源,而动态资源则由应用服务器来处理。 Nginx动静态分离的优点 1. 提高服务器性能:Nginx动静态分离可以减少应用服务器的压力,提高服务器的...
这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省...
Nginx的配置需要考虑到Magento的特性,如静态文件(图片、CSS、JS)的处理、URL重写、缓存策略等。 3. 配置静态文件处理: 对于Magento中的静态文件,可以设置location块来优化处理,例如: ```nginx location /...
配置文件编写完成后,运行`sudo nginx -t`检查配置文件是否正确,然后用`sudo systemctl reload nginx`或`sudo service nginx reload`命令重新加载Nginx配置。 四、Nginx与Vue项目交互 1. `try_files`指令:这个...
优化Nginx静态文件服务的方法包括: 1. **缓存控制**:通过设置HTTP响应头中的 `Cache-Control` 和 `Expires`,可以让浏览器缓存静态资源,减少不必要的网络传输,提高页面加载速度。 2. **压缩输出**:启用Gzip...
Nginx非常擅长处理静态文件请求,通过配置`root`和`index`,可以将服务器设置为静态文件服务器。 ```nginx location /static/ { alias /data/static/; expires 30d; # 设置缓存时间 add_header Cache-Control ...
【Nginx配置文件详解】 在Web服务器领域,Nginx以其高性能、高并发的特点而备受青睐。Nginx配置文件是控制其行为的核心,它定义了Nginx如何响应HTTP请求、处理静态资源以及进行负载均衡等。在这个场景中,我们主要...
在实际应用中,我们可能还需要考虑缓存策略以优化性能,例如使用 `expires` 指令设置文件过期时间,或者利用 `proxy_cache` 实现代理缓存。这些都可以根据具体需求进一步调整。 总结,Nginx 不仅能提供高效的静态...
# 显示文件时间 } } ``` 这个配置定义了一个监听80端口的服务器,其主机名为`file.52itstyle.com`,并指定了静态文件的根目录为`/data/statics`。`location /`指令表示所有请求都将被映射到这个目录下。`autoindex...
接下来,打开Nginx的配置文件,通常位于`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`。在`http`块内,你需要定义服务器配置。这里有两个主要的`location`块,分别处理图片和HTML页面的请求。 对于...
修改配置后,使用`nginx -t`命令检查配置文件的语法是否正确,无误后用`nginx -s reload`命令平滑重启Nginx以应用新配置。 总的来说,`nginx.conf`是Nginx的核心,通过灵活的配置可以实现多种服务和功能,适应各种...
上述配置指定了静态文件的根目录,并设置了缓存过期时间为7天。 5. **错误页面处理**: 通过`error_page`指令,我们可以自定义错误页面,提高用户体验。例如: ``` error_page 404 /404.html; location = /404...
在Nginx的配置文件(通常为/etc/nginx/nginx.conf或/etc/nginx/sites-available/default)中,你需要创建一个server块来定义监听的端口和服务器名。然后,在location块中设置反向代理,将请求转发到Tomcat集群。可以...
在这个例子中,`proxy_store`和`proxy_temp_path`指令用来指定静态资源的存储位置和临时文件路径,而`expires`指令用来设置资源的缓存时间。 总结来说,nginx和tomcat在访问图片和静态页面时,主要依赖于nginx的...
- **静态文件服务**: 通常情况下,Nginx会直接返回静态文件而不经过任何后端服务器处理。例如,可以通过以下方式配置: ```nginx location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { root /usr/share/nginx/...
在进行Nginx集群配置前,首先需要了解Nginx配置文件的基本结构。Nginx配置文件主要包含以下几个部分: - **全局块**:定义了Nginx运行的一些基本参数,如用户、工作进程数量、错误日志等。 - **Events块**:定义了...