你们对网页输出大小有什么最佳实践建议吗?当然越小越好。我说的是非缓存输出。我宁愿不返回 1 MB 的页面。
答案1
这取决于您的用户群以及他们拥有的 Internet 连接类型。对于宽带连接,即使使用 keepalive,渲染时间和对象数量(以及 HTTP 请求)可能比数据量更大,这更可能是瓶颈。使用 4Mbit/sec 连接的用户可以在两秒钟内下载 1MB 的数据,但他们不太可能能够如此快速地下载 50 或 100 个单独的对象并渲染复杂的 JavaScript 和 CSS。
如果您的用户使用较慢的连接速度,请计算出您需要支持的最慢连接速度和可接受的最大页面加载时间,并据此调整页面大小。但请测量和监控您的页面渲染时间(我建议查看平均值、中位数和第 90 百分位数)。
答案2
如果您将页面拆分为多个文件(JavaScript、CSS、图像等...),并正确使用 HTML 标头(例如 Expires:),则用户加载的平均量可能会比总量少得多。例如,在我的网站上,每次加载的总文件量为 100-200kb,但每次页面浏览加载的平均量仅为其 10-20%。
理想的总页面大小取决于您拥有的网站类型和您提供的内容。对我来说,200kb 的页面很大,但对某些人来说,这个页面很大,而对其他人来说,这个页面可能很小。测试/基准化您的网站加载时间始终是一个好主意。萤火虫FireFox 的扩展对此很方便。
对于某些类型的内容,另一种选择是在初始页面加载后根据需要使用 AJAX 调用逐位加载数据。
答案3
您说的是 ASP 还是 ASP.NET?如果是 ASP.NET,请注意嵌入在页面中的 Viewstate 变量/字段的大小。浏览器的任何表单回发都必须随请求发送此隐藏字段,如果您不注意如何在页面中存储状态,它很快就会变得非常大。您不希望用户每次单击页面上的按钮或控件时上传超过 256 KB 的数据。
有一个很好的 Firefox 扩展,称为 Viewstate Size,它可以将此信息放置在状态栏中。