Google Page Speed测试告诉我,我需要跨DNS域名分发我的查询以加快渲染速度。
由于我离线开发,我想找到一个解决方案,将我的静态内容(img,CSS,js)分配到不同的主机名,并且当我在飞机上离线时仍然可以工作。
问: 如何在离线时编写页面以使用相对路径(或本地主机),并在5个主机之间始终发送静态内容请求?阅读this后,我希望网址与此类似:
在线时:动态内容
www.TLSAdmin.com
在线时:静态内容
static1.TLSAdmin-Static.com
static2.TLSAdmin-Static.com
static3.TLSAdmin-Static.com
static4.TLSAdmin-Static.com
离线时:所有内容
本地主机
我更愿意这样做,以便在页面刷新后使用浏览器缓存时引用的主机名将保持一致。所以随机guid.TLSAdmin.com不是一个好主意。
答案 0 :(得分:1)
这个怎么样:
1)编码所有链接到静态资源的代码,例如[HOSTNAME] /Images/myimage.jpg
2)为实现响应过滤器的页面创建HTTP模块或基类
3)该过滤器应该使用正则表达式来查找[HOSTNAME]的所有实例并替换为替代。
过滤器可以包含用于检查当前主机名是否为localhost的逻辑,然后只插入localhost作为主机名。要在保持可缓存性的同时随机分配其他主机名,您可以执行以下操作:
1)列出备用主机名列表
2)你需要一个更复杂的正则表达式/语法来查找[HOSTNAME]并找到文件名以及
3)创建文件完整路径的哈希值。这可能非常简单,比如计算路径中每个字符的ascii代码并找到主机名的模块号
4)使用哈希值从列表中选择主机名。
有了这个,你应该在每个主机名上获得一系列请求+相同的资源将始终从同一主机提供,因此可以缓存它。