Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将两个http响应合并为一个_Java_Php_Httpresponse_Attachment_Load Time - Fatal编程技术网

Java 将两个http响应合并为一个

Java 将两个http响应合并为一个,java,php,httpresponse,attachment,load-time,Java,Php,Httpresponse,Attachment,Load Time,是否可以通过Java或Php发送附加到http响应的额外数据 我的网站是一个家庭作业平台:一个用户将家庭作业输入数据库,然后所有用户都可以在网站上看到家庭作业。当前的加载效率非常低,因为浏览器会对要加载的所有内容发出两个请求:一个请求加载索引文件,另一个请求加载家庭作业。对于homeworks请求,客户端还将用户的设置发送到服务器,根据服务器,返回的homeworks由Php脚本生成 现在,我想知道,是否有可能将这两个请求合并为一个?是否可以在服务器上使用Java或Php检测http请求,读取c

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


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

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

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


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

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

您将创建一个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>

window.initData={
一些变量:23,
}; // 如果使用php,可以使用json_encode;如果使用java,可以使用Jackson

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

“浏览器对所有要加载的内容发出两个请求:一个用于索引文件,另一个用于家庭作业。”我不明白你的意思。你可以发布相关的代码来展示它是如何工作的吗?因为家庭作业不是一个静态的内容,它需要每次都从数据库中获取它们。这是通过Ajax请求完成的,Ajax请求执行一个PHP脚本,然后将从数据库获取的家庭作业返回给客户端。然后,客户端将homeworks添加到Dom树中。你可以在这里找到网站:aaron.filosofisch.com(虽然是德语的)仍然需要一些帮助。这是可以做到的。