防止请求垃圾邮件

时间:2011-05-17 03:05:49

标签: performance http map geospatial webrequest

方案

具有地图功能的客户端应用程序。地图是一个交互式控件,在移动/缩放时将从切片服务器请求切片(根据需要) - 在这种情况下为GeoServer。当用户在交互式地图上移动时,图块服务器接收对图块的请求。 让我们假设客户可以提出的请求数量没有限制。

问题

当用户快速移动时,对磁贴服务器的请求会堆积。磁贴服务器陷入困境,无法及时提供磁贴。

此外,按请求顺序响应切片请求队列。因此,用户可以从佛罗里达州到加利福尼亚州,在看到加利福尼亚州的任何瓷砖之前必须等待佛罗里达瓷砖装载。


问题

我们如何改善客户的感知表现?

在快速平移时,客户端采用哪些策略来防止大量请求?快速缩放?

在服务器端采用哪些策略来确定是否不再需要请求或者应该采用较低的优先级?


可能的解决方案

在Tile Server前放置一个自定义代理,以便可以使用时间戳请求切片 - 以后的切片始终具有优先级。代理还可以实现允许客户端应用程序放弃请求的功能。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我查看了停止图像加载的各种解决方案。但是,当浏览器已经开始下载图像时,似乎没有人找到停止加载图像的方法。

所以,我可以推荐替代方案。浏览器每个域限制为2个并行下载。因此,这意味着您需要从不同的子域加载不同位置的图像,以便浏览器可以并行加载多个位置。

所以,加州图片来自:

california.yourwebsite.com/images

佛罗里达州的图片来自:

florida.yourwebsite.com/images

此外,您可以针对不同的缩放级别使用不同的子域,这样,如果某个缩放级别的图像仍在加载并且用户切换缩放级别,浏览器可以立即下载新的缩放级别图像。

zoom10.florida.yourwebsite.com/images

为此,您需要从域面板创建一个* .yourwebsite.com DNS映射到您的网络服务器。

这会回答你的问题吗?