
在成都小程序開(kāi)發(fā)過(guò)程中,HTML文件的優(yōu)化是一項(xiàng)重要的任務(wù)。HTML文件的大小直接影響到網(wǎng)頁(yè)加載的速度,進(jìn)而影響到用戶體驗(yàn)。因此,我們需要采取一些有效的方法來(lái)壓縮HTML文件。以下是一些實(shí)用的步驟和技巧。
在考慮縮小HTML文件的方法時(shí),您可能會(huì)聽(tīng)到兩個(gè)術(shù)語(yǔ):壓縮或縮小。雖然兩者之間有一些重疊(即,它們都可以用來(lái)減少HTML文件的總大小),但它們不可互換。這是因?yàn)樗麄兪褂媒厝徊煌姆椒▉?lái)實(shí)現(xiàn)他們的目標(biāo)。
縮小刪除源HTML代碼中不必要的行和字符。結(jié)果,您減少了總文件大小并且不影響代碼本身的功能。雖然第一代縮小工具讓用戶手動(dòng)刪除冗余代碼,但新的自動(dòng)化解決方案簡(jiǎn)化了流程。
壓縮HTML是不同的。在文件大小縮小的同時(shí),冗余代碼被附加到原始信息的引用所取代。這表示重復(fù)數(shù)據(jù)的位置,稱(chēng)為“無(wú)損壓縮”。因此,當(dāng)您壓縮HTML而不是縮小它時(shí),您不會(huì)遇到任何數(shù)據(jù)丟失,但您會(huì)得到一個(gè)更小的文件。
無(wú)損壓縮識(shí)別重復(fù)的單詞、短語(yǔ)或字符,消除它們,并創(chuàng)建與它們?cè)谖募械牡谝粋€(gè)實(shí)例相關(guān)聯(lián)的編號(hào)參考點(diǎn)。這允許解壓縮工具重建原始格式。
這是一個(gè)重要的區(qū)別:雖然壓縮和縮小提供相似的輸出文件大小,但壓縮文件通常不能以其縮小格式使用。相反,他們必須在提供基本功能之前解壓縮。
此時(shí),您可能想知道為什么壓縮HTML文件首先是一個(gè)可行的解決方案。有兩個(gè)主要好處。壓縮HTML文件可以提高網(wǎng)站速度并減少帶寬使用。這就是為什么這些如此重要。
考慮一個(gè)使用大量HTML代碼的網(wǎng)站。每當(dāng)新訪問(wèn)者登陸您的網(wǎng)站時(shí),他們的瀏覽器都會(huì)對(duì)特定頁(yè)面發(fā)出HTTPS請(qǐng)求,然后定位這些頁(yè)面并將其發(fā)送回瀏覽器。
更多的HTML代碼意味著更大的頁(yè)面,這意味著最終用戶需要更長(zhǎng)的時(shí)間才能收到完成的頁(yè)面。我們都知道緩慢的頁(yè)面加載時(shí)間意味著什么——沮喪的訪問(wèn)者。如果您使用符合HTTP協(xié)議的HTML壓縮實(shí)用程序,您的Web服務(wù)器可以在頁(yè)面離開(kāi)您的服務(wù)器之前對(duì)其進(jìn)行壓縮。
因此,您的用戶的瀏覽器將在頁(yè)面到達(dá)時(shí)對(duì)其進(jìn)行解壓縮,從而提高整體速度。是的,這需要服務(wù)器端有額外的CPU能力,但現(xiàn)代托管解決方案通??梢赃m應(yīng)這種額外的資源使用。我們認(rèn)為這是一個(gè)值得的權(quán)衡。
至于帶寬,壓縮HTML可以幫助減少?gòu)腤eb服務(wù)器到最終用戶的大量流量——高達(dá)90%。由于網(wǎng)絡(luò)托管的成本通常與網(wǎng)絡(luò)流量掛鉤——一些主機(jī)提供帶有設(shè)定數(shù)據(jù)傳輸限制和超額罰款的套餐,而其他主機(jī)則使用按需定價(jià)——您的HTML文件越小,您發(fā)送的數(shù)據(jù)就越少。你知道這意味著什么:你每個(gè)月花的錢(qián)越少。
準(zhǔn)備好開(kāi)始?jí)嚎sHTML了嗎?如上所述,通常的HTML壓縮形式是“無(wú)損”的,這意味著在整個(gè)過(guò)程中不會(huì)丟失任何數(shù)據(jù),但會(huì)進(jìn)行修改以減小總大小。這是它的工作原理。
考慮這行文本:“hellohellohellohello”
壓縮算法可以識(shí)別我們示例行中的重復(fù),并將單詞“hello”的第一個(gè)實(shí)例識(shí)別為參考。它單獨(dú)留下這個(gè)引用,并使用第二個(gè)“hello”實(shí)例的第一個(gè)字母作為引用標(biāo)記來(lái)產(chǎn)生這個(gè):
“你好你好你好你好”
然后,它識(shí)別參考文本在后面六個(gè)字符和六個(gè)字符長(zhǎng):
“你好你好[6,6]{你好你好}你好”
此外,它還識(shí)別了另外六個(gè)字符的第二次重復(fù),以及最后四個(gè)字符與前四個(gè)參考字符如何相同,從而產(chǎn)生更小的最終產(chǎn)品:
“你好h[6,16]”
因此,您想壓縮HTML文件但不知道從哪里開(kāi)始。如果您想要開(kāi)始,有兩種選擇:您可以使用免費(fèi)或付費(fèi)應(yīng)用程序并自己動(dòng)手。或者,您可以利用瀏覽器中的選項(xiàng)在將HTML數(shù)據(jù)發(fā)送給最終用戶之前自動(dòng)壓縮它。
在幾乎所有情況下,第二種選擇對(duì)您的業(yè)務(wù)和您的網(wǎng)站都更好,因?yàn)槟鸁o(wú)需擔(dān)心等式的任何一方——數(shù)據(jù)在離開(kāi)您的網(wǎng)絡(luò)服務(wù)器時(shí)被壓縮,在到達(dá)目的地時(shí)被解壓縮。
當(dāng)然,有些情況下手動(dòng)壓縮更有意義。例如,假設(shè)您目前正處于網(wǎng)站設(shè)計(jì)的開(kāi)發(fā)階段,或者正在專(zhuān)注于優(yōu)化您的網(wǎng)站以獲得更多流量。在這種情況下,您可能沒(méi)有足夠高的帶寬要求來(lái)證明在包含瀏覽器內(nèi)壓縮的托管包上花費(fèi)是合理的。還值得測(cè)試不同的壓縮選項(xiàng),以確定哪個(gè)提供速度、大小和簡(jiǎn)單性的最佳平衡。
如上所述,Web主機(jī)當(dāng)前使用的最常見(jiàn)的壓縮工具是gzip,它使用熟悉的HTTP協(xié)議自動(dòng)壓縮來(lái)自Web服務(wù)器的HTML文件,并在最終用戶設(shè)備上解壓縮它們。值得注意?
并非每個(gè)托管服務(wù)提供商都使用gzip—或任何HTML壓縮。如果您當(dāng)前或未來(lái)的虛擬主機(jī)不使用壓縮,請(qǐng)考慮其他選項(xiàng)?;蛘?,您可以要求他們集成某種形式的壓縮以提高速度并減小文件大小。
雖然壓縮HTML有很多好處,但您應(yīng)該注意一些潛在的缺點(diǎn)。
第一個(gè)是潛在的安全問(wèn)題。如果您通過(guò)HTTPS使用gzip等公司,如果存在任何安全漏洞,您的網(wǎng)站可能會(huì)遇到一些問(wèn)題。因此,包含敏感信息的文件可能會(huì)暴露或遇到麻煩。因此,您應(yīng)該避免使用gzip壓縮包含敏感信息的文件類(lèi)型。
其次,如果您的文件小于特定大小,壓縮可能不是正確的選擇。如果您的文件只有幾個(gè)字節(jié),壓縮可能會(huì)起反作用,所以要小心。
接下來(lái),注意不要過(guò)度壓縮文件。無(wú)論您選擇正常壓縮還是大量壓縮文件,文件大小通常不會(huì)有太大差異。
最后,請(qǐng)確保您沒(méi)有壓縮已經(jīng)壓縮的文件。重新壓縮也可能會(huì)起到反作用,并可能導(dǎo)致文件變大。或者,它可能會(huì)占用大量?jī)?nèi)存。
HTML文件越小越好,尤其是在網(wǎng)站優(yōu)化方面。在這里,壓縮對(duì)于改善頁(yè)面加載時(shí)間和限制整體帶寬使用至關(guān)重要,從而提供降低托管成本和增強(qiáng)最終用戶體驗(yàn)的雙重好處。
總的來(lái)說(shuō),通過(guò)以上的步驟和技巧,我們可以有效地壓縮HTML文件,從而提高成都小程序開(kāi)發(fā)的效率和用戶體驗(yàn)。