多平台开发中的关键问题及解决方案
在多平台开发中,开发者会遇到诸多挑战,下面为你详细介绍跨域问题、缓存问题以及状态保存和配置界面等方面的内容。
跨域问题及解决方案
现代浏览器遵循同源策略,即 XHR 只能从与包含页面相同的域名、端口和协议中检索内容。这给想要整合多源内容的开发者带来了难题,因为他们只能从自己的域名中检索内容。
解决方案
- 使用 HTTP 代理 :HTTP 代理是一种服务器端脚本,可绕过同源策略。由于代理在服务器上运行,而非浏览器内,因此可以自由访问任何域名。开发者可以构建自己的代理,它运行在与小工具页面相同的域名上,但将所有请求转发到其他域名。不过,很多 Web 小工具 API 会提供自己的内容代理,部署到这些平台时,可直接使用它们的代理。
- 桌面和部分移动小工具平台的解决方案 :这些平台的小工具通常从本地打包源提供服务,而非直接从服务器提供。因此,所有对 Web 的 XHR 请求似乎都指向不同的域名。不过,供应商会放宽运行桌面小工具的嵌入式浏览器中的策略,一般情况下,开发者可以自由请求所需内容,但在某些情况下,需要提前告知 API。
缓存问题及控制方法
缓存是开发者在处理任何 Web 内容时需要注意的另一个问题。浏览器通常会从网络拓扑中更接近的缓存中获取内容,而不是每次都从原始源检索,这样可以节省带宽和下载时间。缓存可能存在于浏览器本身、平台供应商提供的缓存中,或者在用户的 ISP 或第三方内容分发网络(CDN)等中间服务器上。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



