我正在考虑在web应用程序中添加另一个静态服务器,这样我就可以使用static1.domain.tld和static2.domain.tld了。
重点是使用不同的域,以便更快地加载静态内容(同时有更多的并行连接),但让我“烦恼”的是“如何让用户的浏览器将static1.domain.tld/images/whatever.jpg和static2.domain.tld/images/whatever.jpg看作同一个文件”?
有没有什么技巧可以用头来完成这个任务,或者我必须定义哪个文件在哪个服务器上?
发布于 2010-07-26 08:17:12
不,没有办法告诉浏览器两个URL是相同的--浏览器通过完整的URL进行缓存。
你能做的就是确保你总是对同一张图片使用相同的url。即。所有以A-M开头的镜像都在服务器1上,N-Z在服务器2上。对于真正的实现,我会使用基于名称的散列或类似的东西,但可能有一些库可以为您做这类事情。
发布于 2010-07-26 08:44:11
您需要使两台服务器都能够响应发送到static.domain.tld的请求。我已经看到了许多实现这一目标的方法,但它们都是相当低级的。我知道的有两个:
你也可以根据一些随机的东西(例如,路径的MD5散列中的特定比特),通过定向到不同的服务器,在“可见”级别进行扩展。而且,最棒的是,所有这些技术都使用软件堆栈的独立部分来工作;您可以根据需要以任何组合方式使用它们。
发布于 2010-07-26 08:56:43
https://stackoverflow.com/questions/3331502
复制相似问题