forked from holyful/test
-
Notifications
You must be signed in to change notification settings - Fork 0
xiaoji121/mod_styleCombine
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
style动态版本管理和请求合并 目标: 提升前端页面性能。减少客户端与服务端的网络交互,同时保证数据及时更新。充分利用浏览器端缓存机制。 主要解决的问题: 1、 将页面上的多个js/css请求动态地合并成一次请求,发送给服务端。服务端将所要的内容返回给浏览器。同时在浏览器端的缓存过期时间为不过期,可以重复利用。 2、 动态的js/css版本管理,每个js/css都会动态地带上版本号,一旦js/css有修改版本号会重新生成,然后更新页面上的js/css版本号,使浏览器发送新的请求到服务端拿最新的js/css。整个流程实现动态控制。 功能概要: 动态合并请求 1、web应用添加apache模块,将多个url通过特定符号进行合并成一个url。 2、同时给每个合并好的url都动态地生成一个版本号,如果其中某个文件有变化,则版本将会更新。 最后将处理后的html返回给浏览器端,由浏览器解析并发起style的请求。 版本号的主要目的是,用于表示一个新的地址,让浏览器再次发起请求新的资源;(缓存策略见“获取style内容“) 获取style内容 style 集群,部署一个用于解析特定规则的URL,如上图样式的URL。把多个以符号拼接的URL拆开成 单独的文件名。把多个文件名的内容合并成一个文件,并返回给客户端。 返回时设置HTTP头信息 expire=10 years; last_modified=mtime; 几个值,用于客户端浏览器长时间缓存。 大概思路 1、ops 发布js/css到style集群中,同时也发布到版本中心,版本中心会自动生成版本索引文件。 2、apache 模块会定时去读取版本中心的索引文件,用于提供页面合并URL的时候生成版本号。一旦有js更新则会生成新版本号。 3、用户浏览器拿到处理过的html代码,解析并发起js/css 资源请求。从style集群获取数据。 4、style集群收到请求后把URL需要的文件数据返回给客户端,并设置过期时间。
About
styleCombine framework
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 82.7%
- Java 17.0%
- Shell 0.3%