1. 減少需要發出HTTP Request的數量
當你設計的網頁中包含的元件數量越多,Client需要對網站伺服器發出的HTTP Request也會增加,同時也會延長網頁處理的時間。
2. 採用Content Delivery Network服務
由Mirror Image、Akamai、SAVVIS等業者所提供的Content Delivery Network(CDN,內容遞送網路服務),可以供應強大的全球網路基礎架構,將網站以最有效的方式傳送給全球使用者,並自動幫網站選擇最佳路徑傳送資料,例如,根據瀏覽者所在地、網路品質及流量狀況,選擇距離用戶端最近的資料中心傳送資料,確保網頁的瀏覽品質及運作速度。
3. 在網頁中加入過期檔頭
你可以利用這個設定讓網頁具備快取機制,縮短頁面載入時間,尤其是針對內容不常變動的網頁。當然這樣的運用,得視你的網頁性質而定,若內容變動頻率高的網頁,則不適用此方式。
4. 善用Gzip壓縮機制
以XML/HTTP做為資料交換的開放格式已經十分普遍,傳輸的檔案體積,較過去單純的EDI方式增加許多,用傳送壓縮時間換取傳輸時間,也是一種提升效率的策略,目前常見的網站伺服器大都支援此項技術。你甚至也可以視情況選擇壓縮HTML、CSS及JavaScript的檔案內容。
5. 將Stylesheet置於網頁頁首
將樣式表(Stylesheet)置於頁首,可以讓CSS設定先行載入,在第一時間套用設定直接呈現網頁。相較於把樣式表放置在頁尾,等所有內容都下載完畢後才套用,樣式表置於頁首的作法,除了頁面呈現速度較快,載入過程中也較不易造成空白頁的出現。
6. 將Script內容置於頁尾
許多實際狀況中,網頁包含的Script程式,本身並不需要在載入後立即執行,所以作者建議將這些程式碼置於頁尾,至少內容可以在傳輸前段時間即備妥,讓使用者有較佳的瀏覽體驗。
7. 避免CSS Expression的撰寫方式
CSS Expression的目的,在於讓自訂樣式的語法可以取代部分的Script內容,雖然這麼做很好用,但因網頁顯示過程中花費較多的邏輯判斷時間,造成網站效能的致命傷。
8. 將JavaScript及CSS內容獨立於網頁內容之外
透過獨立內容的方式,讓HTML本文檔案縮小,而且可以同時被瀏覽器下載,以縮短網頁呈現的時間。
9. 減少DNS查找的次數,縮短取得網頁內容之前的前置時間
雖然網頁可以串連不同網站來源的內容,但是不同網站來源的內容一旦太多,便會延遲頁面載入速度;如果能夠減少網頁內不同網站來源的內容,就可以減少從用戶端發出的DNS Request數量,縮短DNS的查詢時間。
10. JavaScript內容精簡化
網頁中的JavaScript也是下載的一部分,所以當程式碼內容較多時,亦會直接影響網頁下載的速度。檢視一下程式碼,移除不必要的部分。
11. 避免重導向
網頁重新導向是很方便的功能,但對於使用者而言,他必須等待更多的時間直到最終頁面被載入,所以應該盡可能避免使用重導向轉址功能。
12. 移除重複的Script程式碼
重複的Script程式碼需要花費更多的下載時間,這個問題通常發生在程式碼未能妥善模組化的情況下,檢查一下你的Script程式吧。
13. 善用Etag
透過設定Web Server中的Entity Tag方式,能決定網頁中被快取的內容,以加速網頁呈現,但也得視網頁內容特性而定,Etag主要運用在靜態頁面上,而動態顯示內容的網頁則不適用此方式。
14. 讓Ajax程式可做到暫存快
Ajax架構透過非同步的傳輸方式,讓使用者具有較佳的使用體驗,卻不見得是效能的保證。除了可以透過利用Gzip壓縮、避免DNS查找次數、簡化JavaScript內容之外,控制HTTP過期檔頭來快取Ajax網頁,也能發揮明顯效果。
分享到:
相关推荐
Apache httpd 安装module mod_expires、mod_deflate的方法,需要的朋友可以参考下。
Apache处理器的使用 Apache HTTP Server Version 2.2 文档 编译与安装 启动Apache Apache许可证 2.0 版 日志文件 多路处理模块(MPM) Apache2.0新特性概述 Apache 2.2 新特性概述 配置段(容器) 服务器全局配置 站点...
基于FPGA的Deflate算法核心模块设计.pdf
Functions to compress according to the DEFLATE specification, using the squeeze LZ77 compression backend.
Js算法 zip_deflate(压缩)与zip_inflate(解压),
Nodejs关于gzip deflate压缩详解.docx
资源分类:Python库 所属语言:Python 资源全名:zipfile-deflate64-0.2.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
通过讲解gzip源码,对zip领域的流行算法-deflate 进行深入的分析,本文是目前迄今为止可以找到的对deflate分析得较好一篇文章。
deflate = require ( 'permessage-deflate' ) ; var exts = new Extensions ( ) ; exts . add ( deflate ) ; 可以配置扩展名,例如: var Extensions = require ( 'websocket-extensions' ) , deflate = require...
ppp_deflate.c - interface the zlib procedures for Deflate compression and decompression (as used by gzip) to the PPP code.
libdeflate, 用于 DEFLATE/zlib/gzip 压缩和解压缩的优化库 概述libdeflate是一个用于快速整个缓冲区压缩压缩和解压缩的库。支持的格式包括:DEFLATE ( 原始)zlib ( 带zlib包装的。k 。DEFLATE )gzip ( 一个带有gzip...
deflate压缩算法基本格式介绍
.DEFLATE_Compressed_Data_Format_Specification_version
在这篇文章中,我将介绍如何使用Apache和.htaccess文件进行静态内容压缩。 首先让我介绍一下,我们可以使用两种不同的方法压缩内容:GZip 和 deflate。 介绍 GZip方法在早期的apache版本中使用(在Apache 1.3之前)。...
deflate-decompressor-c 不工作! 根据尝试解压缩Deflate。
消防预留预埋施工方案.doc.deflate.doc.deflate.pdf
deflate方式的压缩说明 学习http可以看看
Apache默认的http.conf配置文件中没有开启gzip压缩,apache1.3.x可以用mod_gzip进行优化网页浏览的速度,在apache2中也尝试用mod_gzip,但是配置后确发现网页不能正确显示(空白页),所以改换为mod_deflate。...
如下所示: 代码如下: static void Main() { string path = @”D:\Practise\IO\Compress”; string deCompressPath = @”D:\Practise\IO\DeCompress”; DirectoryInfo dir = new DirectoryInfo(path);...