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

這篇文章主要介紹了關於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
使用數據庫存儲會話的優點是什麼?使用數據庫存儲會話的優點是什麼?Apr 24, 2025 am 12:16 AM

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

您如何在PHP中實現自定義會話處理?您如何在PHP中實現自定義會話處理?Apr 24, 2025 am 12:16 AM

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

什麼是會話ID?什麼是會話ID?Apr 24, 2025 am 12:13 AM

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

您如何在無狀態環境(例如API)中處理會議?您如何在無狀態環境(例如API)中處理會議?Apr 24, 2025 am 12:12 AM

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。

您如何防止與會議有關的跨站點腳本(XSS)攻擊?您如何防止與會議有關的跨站點腳本(XSS)攻擊?Apr 23, 2025 am 12:16 AM

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

您如何優化PHP會話性能?您如何優化PHP會話性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显著提升应用在高并发环境下的效率。

什麼是session.gc_maxlifetime配置設置?什麼是session.gc_maxlifetime配置設置?Apr 23, 2025 am 12:10 AM

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

您如何在PHP中配置會話名?您如何在PHP中配置會話名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

See all articles

熱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

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

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

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