首頁 後端開發 php教程 php如何提高網頁載入速度

php如何提高網頁載入速度

Jul 05, 2018 am 11:03 AM

這篇文章主要介紹了關於php如何提高網頁載入速度,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

#1、減少頁面請求:

從WEB運行原理上講,IIS請求是無狀態的,在伺服器端一直是連接和關閉的不斷進行著,如果能減少伺服器請求,總的時間將會減少。

之前我下載163郵箱的登陸頁面的圖片時發現,它們的只用到了一個圖片來完成整個頁面的所有圖片,當時我就納悶了,這跟平時做的網站不一樣呀。然來這樣做減少瀏覽器的請求次數,用httpwatch你會發現請求的總時間大大減少了。同樣的想法,在做css樣式,javascript程式碼的時候也要做到盡可能的放在一個檔案下來減少WEB請求。

2、頁面壓縮技術,給我們JS,HTML程式碼進行瘦身。

Jquery 作為JS最輕量級的類別庫,它的原始類別庫是242KB,壓縮後的它竟只有91.6KB。常見的壓縮工具有Google Closure Compiler、YUI Compressor、JsPacker、gzip。我常用的是gzip,因為它的壓縮率是最高的。用jdk壓縮後它會把一些空格去掉,把我們很長的變數名稱換成換成很短的字母來代替。

3、樣式、行為、結構分離。

當第一次造訪頁面的時候,使用者就可以把CSS,JS程式碼下載下來,這樣做雖然第一次讓網頁載入的速度變慢了,但後面的頁面將會快很多。當使用者造訪這個網站的其它的頁面時,由於其它頁面也引用了這個CSS樣式和JS程式碼。瀏覽器發現它已經下載好了,下次就可以不用下載了。這樣就做到了一次下載,後續速度的效果。 

4、使用預存程序

在執行預存程序前,資料庫已對其進行了語法和句法分析,並給出了最佳化執行方案。這種已經編譯好的過程可大幅改善SQL語句的效能。由於執行SQL語句的大部分工作已經完成,所以預存程序能以極快的速度執行。這種預先編譯的sql語句就可以直接執行而節省了很大一部分查詢的時間。

5、一些細節:

把CSS樣式放在頭部,如果JS很多的話,把js程式碼放在尾部。這樣做可以盡可能的先載入頁面的DOM結構,然後才可以級使用者體驗。如果JS很多的大的話,頁面都沒載入完,何來使用者體驗之說呢。

6、適當的使用AJAX

現在的Ajax好像有點被神話了,好像網頁只要Ajax了,那麼就不存在效率問題了。其實這是一種誤解。拙劣的使用Ajax不會讓你的網頁效率更高,反而會降低你的網頁效率。 Ajax的確是個好東西,但請不要過分的神話它。使用Ajax的時候也要考慮上面的那些準則。

7、盡量少使用樣式工具為我們產生的頁面樣式程式碼,自己動手把樣式寫在樣式檔裡。盡量寫得通用些。

8、頁面快取

在大型的入口網站都用到了快取技術,它是以空間換時間的技術。

快取主要是為了提高資料的讀取速度。因為伺服器和應用程式客戶端之間存在著流量的瓶頸,所以讀取大容量資料時,使用快取來直接為客戶端服務,可以減少客戶端與伺服器端的資料交互,從而大大提高二次頁面的存取速度的程序的效率。

9、設定網站的實體標籤:

這個Etag不是給使用者用的,而是給瀏覽器快取用的。 Etag是伺服器告訴瀏覽器緩存,快取中的內容是否已經改變的一種機制。透過Etag,瀏覽器就可以知道現在的快取中的內容是不是最新的,需不需要重新從伺服器重新下載。

10、使用CDN技術。

我們上網下載東西的時候常常會看見什麼「南方伺服器」、「北方伺服器」的就是用到了CDN技術來提高下載速度與穩定性。

CDN的全名為Content Delivery Network,即內容傳遞網路。其基本想法是盡可能避開網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。透過在網絡各處放置節點伺服器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合資訊將使用者的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,解決 Internet網路擁擠的狀況,提高使用者造訪網站的回應速度(來自百度百科)。

11.使用Gzip壓縮文件:

GZIP編碼是用來改進網頁效能的方法,不僅可以減少儲存空間,還可以減少傳輸所需的時間。將網站中的檔案使用Gzip壓縮後,可以顯著的增加網頁載入速度,同時也可以降低網站的頻寬流量消耗。

12.樣式表檔案放在外部呼叫:

把页面中需要用到的JavaScript和CSS样式表文件放在另外的文件夹中,这样一来在打开网站其它页面时就会缓存这些调用的文件,从而加快网站页面的加载速度。

13.给JavaScript文件减肥:

这个方法不同于gzip压缩功能,缩小JavaScript文档有很多方法,比如去除不必要的空格等其他标签等。减少脚本文件后可以显著的提高网页的访问速度。

14.图片使用height和width属性

每个图片的height和width属性可以让浏览器在加载图片之前就知道图片的长和宽,并预留出指定的长宽待图片加载后显示。如果没有这两个属性,浏览器还需要在读取图片成功后再处理一次页面布局样式,这无疑减慢了网页加载速度。所以在固定图片大小的情况下最好都使用上长和宽属性。

15.CSS文件压缩瘦身

p CSS是现在流利的网页布局方式,p定义了元素,CSS控制显示效果。所以往往我们会把CSS写到另外一个或多个外部链接CSS文件中,并且CSS文件代码也有很多行。我们可以使用一些CSS压缩工具来删除CSS文件中不必要的多余内容,如重复定义样式、空格等来瘦身。可以尝试使用一下CleanCSS工具来压缩你的CSS文件。

16.整合CSS、JS文件减少HTTP请求次数

现在的网页都有多个图片、CSS外部文件链接、Javascript外部脚本链接。所以当访问一个网页时浏览器需要多次向服务器请求这些文件。在请求和加载之间会产生不少的时间差。特别是一些网页上有多个小图片、图标按钮的网页,有多少图片,浏览器就需要请求多少将这些小文件,多将请求这些小图片文件将明显影响网页的加载速度。所以我们应该尽可能将小图片拼合一个PNG大图片上,然后通过坐标来显示图标。一次请求一个大图片比多次请求小图片速度要快不少。同样,最好将CSS和Javascript尽可能地整合到一个文件中都有助于加快网页载入速度。

17.目录地址后加上斜杠(/)

如访客点击访问这样一个目录地址:http://www.3haojob.com,去打开这个目录下的index.html文档。当服务器收到请求后它需要消耗一些时间来分析这是一个文件还是一个目录。但是如果我们在最后加上一个斜杠(/),服务器就知道你是在访问一个目录地址,然后就直接加载默认文档index.html或index.php就行了。这样服务器就不用花时间来分析这个地址,也起到了一定加速的作用。劳务派遣

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何实现php中模拟多继承

以上是php如何提高網頁載入速度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話如何劫持工作,如何在PHP中減輕它? 會話如何劫持工作,如何在PHP中減輕它? Apr 06, 2025 am 12:02 AM

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

描述紮實的原則及其如何應用於PHP的開發。 描述紮實的原則及其如何應用於PHP的開發。 Apr 03, 2025 am 12:04 AM

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

在PHPStorm中如何進行CLI模式的調試? 在PHPStorm中如何進行CLI模式的調試? Apr 01, 2025 pm 02:57 PM

在PHPStorm中如何進行CLI模式的調試?在使用PHPStorm進行開發時,有時我們需要在命令行界面(CLI)模式下調試PHP�...

如何在系統重啟後自動設置unixsocket的權限? 如何在系統重啟後自動設置unixsocket的權限? Mar 31, 2025 pm 11:54 PM

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

如何用PHP的cURL庫發送包含JSON數據的POST請求? 如何用PHP的cURL庫發送包含JSON數據的POST請求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

See all articles