`
xiaoyao8903
  • 浏览: 21544 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

nginx实战2---浏览器设置缓存

 
阅读更多

对常见格式的图片文件等在浏览器本地缓存,对于css,js等文件在浏览器本地缓存.

语法:expires [time|epoch|max|off

默认值:off

expires指令控制HTTP应答中的“Expires”和“Cache-Control”Header头部信息,启动控制页面缓存的作用

time参数---》time:可以使用正数或负数

“Expires”头标的值将通过当前系统时间加上设定time值来设定。

epoch:--->epoch:指定“Expires”的值为 1January,1970,00:00:01 GMT

max:------>max:指定“Expires”的值为31December2037 23:59:59GMT,""Cache-Control"的值为10年。-1:指定“Expires”的值为当前服务器时间减去1s,即永远过期。

off:--------->off:不修改“Expires”和"Cache-Control"的值

Cache-Control是用max-age指令指定组件被缓存多久。(在浏览器header头部有)

负数参数:表示Cache-Control:no-cache

整数或者零:表示Cache-Control:max-age=' '为您设定的时间秒数。

另外:

如果不想让代理或浏览器缓存,加no-cache参数或private参数:

# expires 1d;

add_header Cache-Control no-cache;

add_header Cache-Control private;

如何查看,如何验证:可以通过访问别人的网站,看看别人有没有做缓存

当我访问一个网站的时候,看状态码全是200

nginx实战2---浏览器设置缓存

点击开查看关键参数:

nginx实战2---浏览器设置缓存

第二次去访问:

变成了304

nginx实战2---浏览器设置缓存

查看:

nginx实战2---浏览器设置缓存

nginx实战2---浏览器设置缓存

这时返回的状态码是304,而在请求中比第一次多了If-Modified-Since头,和原始服务器中的Last-Modified制作比较,所以实现浏览器缓存并判断是否过期。

简单的说,Last-Modified 与If-Modified-Since 都是用于记录页面最后修改时间的 HTTP 头信息,

只是Last-Modified 是由服务器往客户端发送的 HTTP 头,

而 If-Modified-Since则是由客户端往服务器发送的头,

可以看到,再次请求本地存在的 cache 页面时,客户端会通过 If-Modified-Since头将先前服务器端发过来的 Last-Modified最后修改时间戳发送回去,这是为了让服务器端进行验证,通过这个时间戳判断客户端的页面是否是最新的,如果不是最新的,则返回新的内容,

如果是最新的,则返回304告诉客户端其本地cache的页面是最新的,

于是客户端就可以直接从本地加载页面了,这样在网络上传输的数据就会大大减少,同时也减轻了服务器的负担。

简单配置如下:

1 知识写了location 2 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 3 { 4 expires 30d; 5 access_log off; 6 } 7 8 location ~ .*\.(js|css)$ 9 { 10 expires 12h; 11 access_log off; 12 }

参考:http://www.jb51.net/article/33213.htm

分享到:
评论

相关推荐

    headers-more-nginx-module-0.33.zip

    例如,可以使用它来禁用浏览器缓存,防止敏感信息被缓存: ``` more_set_headers 'Cache-Control: no-store, no-cache, must-revalidate'; ``` 2. `more_clear_headers`: 用于清除指定的HTTP响应头。例如,如果...

    实战Nginx.取代Apache的高性能Web服务器

    3.6 Nginx的浏览器本地缓存设置 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 4.1 获取相关开源程序 4.2 安装PHP 5.2.10(FastCGI模式) 4.3 安装Nginx 0.8.15 4.4 配置开机自动启动Nginx + PHP 4.5 优化...

    nginx设置资源缓存实战详解

    看过很多文章讲它们之间的区别,但是没有实战过只知道其意义却不知道怎样去设置,没有实战过也导致记忆总是很模糊,实践才是最好的老师!记录一下我使用nginx服务器学习缓存的过程。 初探 首先我在 nginx 的根目录下...

    cpp-实战开发一个Nginx扩展NginxModule

    在本文中,我们将深入探讨如何使用C++进行实战开发,以创建一个名为NginxModule的自定义Nginx扩展。这个扩展是一个简单的Nginx echo模块,它将客户端发送的请求体数据回显到响应中。这为开发者提供了一个学习Nginx...

    实战Nginx 高性能web服务器

    在Nginx的基本配置中,需要了解虚拟主机的配置、日志文件的管理、内容压缩输出、自动列目录以及浏览器本地缓存设置等关键部分。这些配置项对于提升Web服务的效率和用户体验至关重要。 Nginx与其他后端技术的整合 ...

    实战Nginx.取代Apache的高性能Web服务器.2010

    - **Nginx的浏览器本地缓存设置**:通过设置HTTP响应头中的`Cache-Control`和`Expires`字段,可以控制浏览器如何缓存页面资源。 #### Nginx与PHP(FastCGI)的安装、配置与优化 - **安装PHP**:可以在Linux系统中...

    决战Nginx系统卷:高性能Web服务器详解与运维第一部分(保证能用)

    第2章 Nginx的模块管理和进程管理 第3章 Nginx如何处理一个请求 第4章 服务器名字 第5章 协助用户操作Nginx的工具 第6章 5XX错误处理 第7章 使用TCMalloc优化Nginx 第8章 PCRE正则表达式 第9章 Nginx高可用的...

    Nginx实战基础篇六通过源码包编译安装部署LNMP搭建Discuz论坛.pdf

    然后,通过浏览器访问论坛安装页面,按照提示进行数据库连接、管理员账号设置等步骤,完成Discuz论坛的安装。 在整个过程中,确保每个步骤都严格按照官方文档和最佳实践操作,避免出现错误。同时,定期更新和维护你...

    Nginx高性能WEB服务器系列(超级详细)

    4. **配置文件**:编辑 Nginx 的配置文件 `/usr/local/nginx/conf/nginx.conf`,根据需求设置 server 块和 location 块。 5. **启动服务**:使用 `/usr/local/nginx/sbin/nginx` 启动 Nginx 服务。 6. **测试验证**...

    实战Nginx:高性能Web服务器

    2. **静态文件缓存**:利用浏览器缓存可以显著提高性能,减少带宽使用。 ```nginx location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; } ``` 3. **负载均衡**:使用轮询、最少连接、IP哈希等方式...

    Nginx动静分离URL转发实战.pptx

    本文将深入探讨Nginx的动静分离与URL转发实战,以及如何通过配置Nginx实现更高效、更稳定的服务。 首先,我们要理解什么是动静分离。在Web应用中,静态资源(如CSS、JavaScript、图片等)通常不涉及服务器端的逻辑...

    taobao_nginx_应用与开发实战.

    淘宝CDN combo功能通过使用双问号激活,多个文件间用逗号分隔,加入时间戳以突破浏览器缓存机制,进一步优化了用户体验。 针对系统过载保护,淘宝网开发了sysguard模块,该模块可以根据系统负载、内存使用情况...

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议 视频教程+笔记+课件+资料

    - **响应头信息**:Location(重定向位置)、Set-Cookie(设置Cookie)、Cache-Control(缓存控制)等。 ##### 1.4 HTTP状态码 - **2xx成功**:200 OK表示请求已成功,201 Created表示创建成功。 - **3xx重定向**...

Global site tag (gtag.js) - Google Analytics