gpt4 book ai didi

c# - 低带宽网站设计

转载 作者:行者123 更新时间:2023-11-30 13:45:24 25 4
gpt4 key购买 nike

不久前,我们公司的一位初级开发人员的任务是创建一个网站,供用户在异地输入时间表。这主要用于居住在海外且带宽有限的员工(它是卫星互联网,所以我们已经在研究 500 毫秒 - 600 毫秒的响应时间,通常只有 10KB/秒或更少,包括 10% - 20% 的间歇性数据包丢失).
所以这是一个具有挑战性的情况...

最近我的任务是帮助初级人员提高网站的速度和功能,这主要是为了我自己的利益,因为我通常是一名桌面开发人员。我注意到的一件事是该网站正在使用 MultiView,我想知道这是否是最佳方法。我明白其中的道理;下载整个网站一次,然后来回查询,根据需要显示/隐藏各种 View 。除了它似乎没有那么顺利。

95% 的操作需要服务器运行;即添加一个新的时间表 - 需要告诉服务器,服务器又在数据库中创建一个新条目。服务端搞定后,好像导致客户端重新下载整个网页,显然适得其反。

所以我的问题如下;
鉴于上述情况,这是预期的行为吗?即,一旦服务器完成其操作,是否应该重新下载整个网页?如果是这样,这是针对这种情况的最佳方法吗?为各种功能(时间表/休假等)设置更小的单独页面会更好吗?

我知道这可能有点基于意见,但非常感谢任何想法或帮助;为了我们双方的利益。

最佳答案

从内存来看,Multiview 只呈现其中一个 View ,而不是所有 View ,但由于您提到了 Multiview,这告诉我您使用的是较旧的 WebForms 技术,该技术通常会带来大量开销保存/恢复状态。您可以尝试优化它,尤其是当您使用某种网格控件时。

更好的方法可能是放弃 WebForms 并改用 MVC 等更新的技术。重写应用程序以将 AJAX 与尽可能返回 JSON 的 Web 服务一起使用,以减少需要发送到服务器和从服务器发送的数据量。使用 MVC 还将减少页面加载所需的资源数量(无 resource.axd 等),这将有助于缩短页面加载时间,尤其是在高延迟链接上。

  • 确保服务器设置为使用 GZIP 压缩动态页面。
  • 压缩和缩小您的 javascript 和 CSS。
  • 不要在 HTML 中使用内联样式(样式属性)(使用类或 ID+子选择器)来减小 HTML 大小。
  • 捆绑所有的 javascript 和 CSS。
  • 尽可能使用 CSS 为您的图片添加 Sprite 。
  • 通过像 http://kraken.io 这样好的图像优化器运行您的图像
  • 确保您尽可能地缓存,并且缓存持续时间设置正确。
  • 压缩您的 HTML。
  • 停止使用 WebForms(或观察您的页面状态,并非常密切地控制状态)
  • 检查一些 SPA 架构——您可以使整个应用程序“可离线使用”,但获取/更新/创建数据的调用除外。

最终,每个页面只需要 1 个 HTML 文件、1 个 CSS 文件、1 个 Javascript 文件和第一个页面命中的 1 个 sprite 表,然后之后的每个页面只需要一个 HTML 文件。

您可能还想研究使用客户端库(如 angular 或 knockout)来处理渲染 View 。这可以减少需要发送的流量(尽管它可能会使请求数量增加一个)。

关于c# - 低带宽网站设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com