Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Javascript 在一跳中提供整个网页_Javascript_Apache_Browser_Web_Nginx - Fatal编程技术网

Javascript 在一跳中提供整个网页

Javascript 在一跳中提供整个网页,javascript,apache,browser,web,nginx,Javascript,Apache,Browser,Web,Nginx,目前,如果一个页面有2个图像和2个JavaScript文件,那么浏览器会调用5个。当然,您可以使用keep-alive和管道,但仍然需要5个网络呼叫。有没有办法发送一个zip文件,让浏览器解析zip或类似Compass文件中的资源 5个电话只是一个例子。在大型网站中,每页30-50个电话并不少见。此外,in-lining也没有帮助,因为后续页面将引用单个js/css/image/icon文件。所以这些请求应该从缓存中提供 网络呼叫很重要,特别是当你的手机上运行着一个混合应用程序,用户在东海岸,你

目前,如果一个页面有2个图像和2个JavaScript文件,那么浏览器会调用5个。当然,您可以使用keep-alive和管道,但仍然需要5个网络呼叫。有没有办法发送一个zip文件,让浏览器解析zip或类似Compass文件中的资源

5个电话只是一个例子。在大型网站中,每页30-50个电话并不少见。此外,in-lining也没有帮助,因为后续页面将引用单个js/css/image/icon文件。所以这些请求应该从缓存中提供


网络呼叫很重要,特别是当你的手机上运行着一个混合应用程序,用户在东海岸,你的数据中心在西海岸或者更糟,你的用户在欧洲,你的数据中心在西海岸等等。如果你想快速加载页面,在呈现页面之前,请密切注意浏览器需要往返的次数。每次行程20毫秒?30毫秒,40毫秒?穿越美国50毫秒的一半路程?从东部标准时间到太平洋标准时间--80毫秒。。。。是的,总而言之

我发现减少“get”和“304 not modified”数量的最好方法是将所有javascript文件、图像和css缓存一年

当浏览器第一次需要资源时,它会进行一系列的往返…这是情不自禁的。它第二次需要资源时(在0毫秒内从缓存提供资源),甚至不会显示在Web服务器日志文件中

您希望将最大年龄和过期时间设置为1年。以下是我在apache中的实现方式:

如果您愿意购买SSL证书或已经拥有SSL证书,我建议您使用nginx extras包中提供的SSL证书,要启用SSL证书,只需将其添加到侦听行即可

listen 443 spdy;
编辑

你可以做的其他事情很少,对于JS和CSS文件,有很多框架工作可以将它们编译成一个文件,你可以手动完成,也可以在过程中缩小文件,还可以看看预处理器,它们让我的生活更轻松,你可能喜欢使用它

对于图像,你不能做太多,除非它们是小图标文件,然后你应该创建一个,也尝试考虑使用一个字体,如果可能的话,或者,因为那些是字体,你可以很容易地设置它们的大小和颜色。
还要确保打开了gzip,如果响应头上说gzip已启用,请检查响应头。

我不知道。但实际上,在2014年,5个请求并不是什么大问题。你可以使用gzip压缩你提供的资源,这是一种常见的做法,但仍然是5个呼叫。网络呼叫本身并不重要,这些呼叫所需的时间取决于文件的大小,您可以缩小它,等等。您可以将所有的JS放在页面上,并将图像嵌入Base64或使用内联SVG。“我不知道你会从中得到什么,”克里斯托弗·马歇尔说,“我讨厌这种态度。仅仅因为你可以在几秒钟内提出一百个请求,并不意味着你应该这样做。我花了数小时的时间优化我的HTTP流量,我的用户已经注意到并为此感谢我,因为他们的移动设备上的速度有多快。