css,js文件自动合并输出及Content-type,Cache-Control,Etag等的设置
2016/03/12
知识点:file_get_content、header
原理:根据前端发起的GET请求的QUERY_STRING,将需要的文件合并,并输出; 输出的同时注意加上Content-type(文档类型)、Cache-Control(缓存类型)、Last-Modified(最后修改时间),EXpress(过期时间),Etag(文档标识);
例子:浏览器第一次发出请求:/use/?/style/common.css,/style/reset.css,服务器接受请求并将/styles/目录下common.css及reset.css合并后并在http响应头(Response Headers)加上Content-Type、Cache-Control、Express、Etag信息
① 用户按刷新按钮,浏览器会将If-None-Match 加在http头中一起发送到服务器端,服务器端对比Etag信息和$_SERVER['If-None-Match']信息,如果相同则返回304,如果不同则返回新文件
② 用户在浏览器地址栏回车,浏览器会判断Express是否过期,如果不过期从本地缓存加载,否则重新发送请求
示例代码:PS:Expires(本地缓存过期) --> Last-Modified(文件最后修改时间不一致) --> Etag(文件标识是不一致) --> 发送新文档
转载请注明:来自 静水缘(http://www.lpsjj.cn)
静水缘首页
刘丕水+宋静静于2007年9月相识于山东理 工大学,毕业后2011年相恋,共甘苦,历 时四年,终于在11月23号拿到了红本本, 组建了自己的小家庭......文章分类
最新文章
- nodejs私钥加密公钥解密的一个例子
- uniapp和微信小程序判断程序运行在开发或者测试或者线上版本的方法分别是什么
- electron使用electron-builder打包后模块包含exe文件执行失败
- Compile is disallowed on the main thread, if the buffer size is larger than 4KB
- better-sqlite3简介及常用操作
- nodejs 操作数据库的库
- nodejs使用http-proxy库实现多个域名代理和同时代理websocket的例子,代理包含https和http两种协议
- iis配置反向代理
- javascript伪多线程代码
- ip所在地址段判断