首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高延迟/低带宽环境中的浏览器应用程序

高延迟/低带宽环境中的浏览器应用程序
EN

Stack Overflow用户
提问于 2008-11-01 22:44:46
回答 3查看 709关注 0票数 1

我们有一个典型的业务应用程序,其中包含一个Outlook外观的Winforms客户端,它与asmx webservices进行对话。我们希望在我们的内部网上提供一部分功能,但我们需要接触到的新用户-所有这些新用户-都在发展中国家,具有拨号类型的带宽和大量的延迟。而且他们都使用IE6。

因此,我们需要将往返次数以及传输的数据量保持在绝对最小。我们正在考虑一个只有一个url的网站,所有与我们现有后端的交互都是通过AJAX调用实现的。基本上是一个保持大量状态的胖客户端,只是偶尔发出修改或获取数据的http请求。典型的web应用程序每次用户点击都会发出24个请求,这对我们来说是行不通的。

这种方法听起来合理吗?如果你遇到这样的问题,你会推荐哪种javascript框架或库?我们使用TIBCO GI进行了原型设计,但是XML操作很痛苦,而且我们无法在浏览器中获得所需的性能。接下来,我们可以看看YUI,它可能有我们现有的asmx的serve。

感谢您的建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-11-01 23:25:24

我能想到的几件事

往返

就像你说的,越少越好,为了更好地适应浏览器客户端,最好是根据浏览器应用程序的用例来设计界面,在没有其他开销的情况下为界面返回随时可用的数据。这将与您当前为桌面应用程序提供的状态略有不同,因为状态并不像胖客户端那样简单。

传输

在web服务器上启用压缩。

接口

尽可能使用REST api,因为浏览器可以缓存一些静态数据,并且大小小于将序列化形式的请求放在正文中

对进行编码

对于浏览器应用来说,JSON比XML好得多,而且JSON的大小也比XML小。

框架

你也可以看看JQuery或者prototype最新的GWT也很适合用AJAX构建网页,它将java代码翻译成带有国际化特性的javascript等等,这也使得调试变得非常容易。

对于web服务,值得再看一看WCF服务,您应该能够利用现有的业务逻辑,同时将框架转移到RESTful。

票数 2
EN

Stack Overflow用户

发布于 2008-11-02 13:00:32

正如CodeMelt所说,这一切都是关于减少往返行程。这里有更多的方法:

请确保您的第一个页面加载有尽可能多的信息。在第一次构建应用程序时,页面经常会通过Ajax调用立即从服务器请求更多的状态。可以通过在页面上包含信息来避免对服务器的第一次请求。

如果您有许多图形,请考虑使用css sprites来减少获取图像的往返行程。

去规范化。构建应用程序的逻辑方法可能是使用几个不同的Ajax调用来从服务器获取不同的状态。将它们组合在一起以返回更大的JSON结构。

使用YSlow和Firebug来查看您的页面实际在做什么。

票数 1
EN

Stack Overflow用户

发布于 2008-11-02 13:19:58

以下是一些想法:

  • 如果微软it支持,可以使用某种方式将静态(不变)文件放入单个归档文件中- Mozilla支持使用.jar文件来实现此目的。Expires
  • 如果你不能把所有的资源放到一个.jar或者类似的文件中,可以使用Javascript预加载它们,如果这有帮助的话。
  • 确保静态文件有适当的Last-modified:和Expires:用于客户端缓存的头部。确保"no- cache“标头等不会出现在静态资源上。HTTPS
  • 如果您正在使用XHR请求通过GET方法获取信息(这是个好主意),请确保这些请求具有适当的Last-modified:和Expires: headers - AJAX请求也可以从客户端缓存提供服务。
  • 如果您特别使用HTTPS,请启用HTTPS并使用较长的超时-这将占用更多服务器上的资源,但会占用客户端上较少的资源来建立连接,并在必要时使用HTTPS
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/256215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档