我想從我們的SO用戶那裏獲得一些關於在網站上提供靜態文件的提示—像JavaScript,CSS,圖像和Flash文件—更快。任何有用的提示?更快速地提供靜態文件的提示,如JavaScript,CSS和圖像
回答
最好的提示,我可以給你的是:購買Steve Sounder's book High Performance Web Sites裏面充滿了容易遵循的提示。基於靜態圖像:使用內容交付網絡(CDN),這意味着:只需將您的靜態內容放置在另一個服務器上,另一個(子)域上,並且您可以獲得靜態內容的最佳性能。
優點是:沒有cookies來回發送(這佔用了很多開銷!),使用外部CDN和您自己的服務器時,沒有其他HTTP開銷,超時時間,穩定的性能,獲得更少的流量。有許多商業(如亞馬遜S3),但也有免費的CDN供應商。
一些不太重要,但提示仍然是有價值的:
- minify your JavaScript(加速僅第一負載);
- combine your JavaScripts and CSS-files into one和;
- use CSS sprites爲您的(小)圖像。
注:StackOverflow上是一個很好的例子網站,如下所有這些提示,下載YSlow來測試自己的網站。
對靜態內容使用內容傳遞網絡 - CDN。
或者,你可以創建一個子域,即gfx.yoursite.com,託管您的所有靜態內容。通過積極緩存來禁用Cookie並優化網站性能。
您可能還想研究一下CSS精靈,它們可以提高常見圖形的性能。
爲了減少外部資源的數量在一個頁面中,您還可以使用基地64編碼直接嵌入小圖片在你的CSS文件。這將減少DNS查找的數量並提高性能。但是,它增加了很多複雜性,維護很快就成爲一場噩夢。這是一個漂亮的工具來幫助你,但要小心。 :)
我認爲數據方案還沒有被IE支持,所以排除了大部分用戶...... :( – Abel 2010-08-24 10:26:49
退房雅虎在http://developer.yahoo.com/yslow/和http://developer.yahoo.com/performance/rules.html建議。一些一般性的要點:
- (在CDN領域和禁用cookie)使用CDN靜態文件
- 確保圖像的尺寸進行了優化
- 縮減大小的JS文件
- 將在腳本標記底部你的HTML,並儘可能使用「defer =」屬性(這加快了瀏覽器加載頁面)
- 1. Django提供在CSS文件中定義的靜態圖像
- 2. 快速服務器無法從Index.html中提供靜態文件
- 3. NGINX提供靜態文件
- 4. Sinatra提供靜態文件
- 5. 從servlet中的文件系統提供靜態圖像文件?
- 6. 如何提供靜態文件動態?
- 7. Django和提供靜態文件
- 8. Django和Apache不提供靜態文件
- 9. 在Spring提供靜態圖像引導
- 10. asp.net,如何提供靜態文件
- 11. 快遞服務器靜態文件夾不提供文件
- 12. 從CDN和本地目錄中用Django提供靜態文件
- 13. Node.js的快遞框架提供靜態swf文件
- 14. 快速靜態文件沒有更新
- 15. Ruby/Sinatra - 提供css,javascript或圖像文件
- 16. Webpack dev-server - 如何提供更新資產的靜態文件?
- 17. Apache不會提供Django靜態文件
- 18. IIS8拒絕提供靜態.wsdl文件
- 19. Django 1.7 - 提供靜態文件
- 20. 在Meteor.js中提供靜態文件
- 21. 無法提供靜態文件,Django 1.6
- 22. 提供靜態文件與澤西2
- 23. Nginx沒有提供Django靜態文件
- 24. Django未提供靜態文件
- 25. 無法從cherrypy提供靜態文件
- 26. 用Ruby Espresso提供靜態文件
- 27. NGINX爲Django App提供靜態文件
- 28. 蟒蛇燒瓶 - 提供靜態文件
- 29. 用Django提供靜態文件
- 30. golang錯誤提供靜態文件
這應該是社區wiki,儘管它有點過於籠統,即使對於我認爲... – 2010-08-24 09:59:43
@Nick cha nged to community wiki .. – 2010-08-24 10:02:33