Javascript 在一跳中提供整个网页
目前,如果一个页面有2个图像和2个JavaScript文件,那么浏览器会调用5个。当然,您可以使用keep-alive和管道,但仍然需要5个网络呼叫。有没有办法发送一个zip文件,让浏览器解析zip或类似Compass文件中的资源 5个电话只是一个例子。在大型网站中,每页30-50个电话并不少见。此外,in-lining也没有帮助,因为后续页面将引用单个js/css/image/icon文件。所以这些请求应该从缓存中提供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文件。所以这些请求应该从缓存中提供 网络呼叫很重要,特别是当你的手机上运行着一个混合应用程序,用户在东海岸,你
网络呼叫很重要,特别是当你的手机上运行着一个混合应用程序,用户在东海岸,你的数据中心在西海岸或者更糟,你的用户在欧洲,你的数据中心在西海岸等等。如果你想快速加载页面,在呈现页面之前,请密切注意浏览器需要往返的次数。每次行程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流量,我的用户已经注意到并为此感谢我,因为他们的移动设备上的速度有多快。