aiCache为3G手机网站提供技术支持
2018-06-11 来源:
一个服务于手机用户的网站对客户请求做出响应的格式是由手机或浏览器的种类决定的。网站服务于手机用户同时,又要缓存web服务器的响应,这类网站就必须将用户代理信息作为缓存设备对请求作出正确响应的部分识别依据。
比如说,有三台不同的手机都同样访问 “news.html” 这个站点,由于它们的用户代理字符串不同,我们仍需要缓存三个不同的响应,这样很可能会极大增加被缓存的响应的数量(因为其中同一站点的资料文本在成倍增加)。
现在,通过配置aiCache, 我们可将删减或改写后的用户代理字符串作为aiCache服务器对用户请求做出正确响应的部分识别依据(此特性只有mobile-enabled版本才可做到),从而为上述问题提供了完美的解决方案。
在之前各项功能的基础上,aiCache的这项性能解决了市面上存在多种不同种类手机所带来的难题。以前,不同的固件文本,手机提供商和运营者都会导致手机向网站发送一个不同的用户代理字符串,而想要缓存所有移动设备各不相同的响应数据是十分困难的。
其实我们不难发现,市场上绝大部分的手机可被归纳为几类不同的“家族”。例如,按照功能,对Javascript 的支持程度以及屏幕大小不同,黑莓手机可以被归纳为两个类别,苹果手机本身就是一个类别等等。这样就大大简化了以前存在的问题。
aiCache就充分利用了这一点。您只需对用户代理字符串具体设定改写规则,改写或删减后新的字符串可就作为aiCache服务器缓存响应的部分签名。
另外,这个被“压缩”了的客户代理字符串还会与用户请求中的X-UA-Rewrite header 一并送交原始服务器。然后,原始服务器会读取并作用于这个报头参数(header value),修改原始服务器的响应以便配合手机类型的差异。
例如,将本不支持Javascript的手机重置到无Javascript内容的页面,并自动调整页面大小以适合不同尺寸的屏幕。
当然,原始服务器也可依照用户代理字符串的实际参数来形成响应。(aiCache从不修改它,而是从请求设备向原始服务器逐字上传)但如果这样的话,服务器端的代码就必须能够配合众多不同的手机。
将大量不同的用户代理字符串减少为一小部分, 除了对原始服务器有好处之外 ,还对缓存本身也产生积极的影响——包括提高缓存效率、部分减少网络拥堵、降低对原始服务器配置的要求等。极大的简化了web服务器应对当今市面上所有五花八门的手机的逻辑流程。
一直以来,人们的理想就是访问URL不随自己使用手机的种类而改变。这样的话,无论使用的是哪种手机,访问任何新闻网页只要输入news.html ,想访问任何体育网页输入sports.html就可以了。
遗憾的是,现实中对于URL变化情况的处理方法要复杂得多,例如给每个网址都加上手机种类的前缀。这往往让用户觉得十分麻烦。
如前所述,aiCache对此提供了完美的解决方案。
来自http://aicache.com/blog/aicache-mobile-client-caching-support/
标签: web服务器 代码 服务器 服务器端 网络 网站 问题 用户
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。