将两个http响应合并为一个

时间:2016-01-20 22:59:40

标签: java php httpresponse attachment load-time

是否可以通过Java或Php发送附加到http响应的额外数据?

我的网站是一个家庭作业平台:一个用户将家庭作业输入数据库,然后所有用户都可以在网站上看到家庭作业。当前负载效率非常低,因为浏览器会对两个eveything加载请求:一个用于索引文件,另一个用于homeworks。对于homeworks请求,客户端还将用户的设置发送到服务器,根据该脚本,Php脚本生成返回的homeworks。

现在,我想知道,如果有可能,将这两个请求合并为一个?是否可以在服务器上使用Java或Php检测http请求,读取cookie(保存设置的位置),然后从数据库中获取homeworks并将附加到http响应的数据发送到客户端?或者,更好的是,首先只返回索引文件并尽快返回作为第二个响应的家庭作业数据,因为客户端需要一些时间来解析Html&无论如何都无法显示家庭作业时构建DOM树。

在浏览网页时,我偶然发现了“服务器端呈现”和“SPDY”等术语,但我不知道这些是否是正确的起点。

我非常感谢任何帮助,因为我个人对解决方案非常感兴趣,这会大大缩短我网站的加载时间。

1 个答案:

答案 0 :(得分:0)

解决问题的一个简单方法是初始化索引文件中的数据。

您将创建一个javascript对象,并将其嵌入到由服务器呈现的html中。您可以将此对象放在全局命名空间中(例如在window.initData下),以便脚本中的代码可以访问它。

<scipt>
window.initData = {
   someVariable: 23,
}; // you could use json_encode if you use php, or Jackson if you use java
</script>

但是,如果您的数据是在单独的服务器请求中获取的,那么这不是一个大问题。特别是当从数据库/ Web服务中检索数据需要更多时间时,您可以通过首先非常快速地获取静态内容并在加载(较慢)数据时显示微调器来提供更好的用户体验。