HTTP響應(yīng)頭的管理 提升網(wǎng)站訪問(wèn)速度
為什么要講HTTP頭?
1、 非常簡(jiǎn)單的通過(guò)HTTP頭,可以讓你的用戶打開(kāi)速度快10倍。
2、 網(wǎng)上講HTTP頭的文章,都講的太玄乎和專業(yè),實(shí)際價(jià)值不大。
3、 太多人看了太多亂七八糟的文章,加了很多自己也不知道干嘛用的HTTP頭。
4、 HTTP頭過(guò)大會(huì)阻塞你的用戶訪問(wèn),你考慮過(guò)嗎?如何讓你的HTTP頭正好夠用,能夠起到效果又不要過(guò)于臃腫堵塞你的用戶,你考慮過(guò)嗎?
什么是HTTP頭?
HTTP協(xié)議采用了請(qǐng)求/響應(yīng)模型。
客戶端向服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、URI、協(xié)議版本、以及包含請(qǐng)求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容。
以上是抄來(lái)的,其實(shí)我不想講,呵呵,但是普及下吧。
下面是我們這一篇中主講的
HTTP響應(yīng)頭的管理
哪些是常用的HTTP響應(yīng)頭?
看圖:
總結(jié)來(lái)看,常用的HTTP頭如下:
哪些頭需要好好管理?
Cache-Control
這是個(gè)無(wú)比妙用的頭,它可以讓你的首頁(yè),從2MB,變成200KB。
沒(méi)錯(cuò),就是它。
我們先看看別人用了它之后,做到了啥。

減少了這么多,網(wǎng)站和用戶雙贏,靠的就是這個(gè)頭。下面我將講下具體如何用。
Last-Modify
這個(gè)頭好用,那就用是了,為什么還要單獨(dú)拿出來(lái)說(shuō)?
是因?yàn)檫@個(gè)頭,有個(gè)小的隱藏風(fēng)險(xiǎn),見(jiàn)過(guò)很多人中標(biāo),我指出來(lái),希望更多的人可以看到,之后避免。
很多網(wǎng)站,在更新網(wǎng)站或者發(fā)布網(wǎng)站臨時(shí)維護(hù)信息時(shí),會(huì)采用將老的文件,剪切到其他目錄,然后本地再上傳一個(gè)同名文件進(jìn)行文件更新或者網(wǎng)站的頁(yè)面更新。當(dāng)更新的頁(yè)面出問(wèn)題或者維護(hù)結(jié)束他們使用正常頁(yè)面給用戶服務(wù),會(huì)立刻把老的文件剪切回來(lái),覆蓋舊文件。
這就有一個(gè)非常大的問(wèn)題。
因?yàn)閷?duì)于已經(jīng)訪問(wèn)過(guò)網(wǎng)站的人來(lái)說(shuō),他們已經(jīng)把文件緩存到了本地。當(dāng)用戶再次訪問(wèn)網(wǎng)站時(shí),會(huì)發(fā)送一個(gè)If-Modify-Since請(qǐng)求。
老文件 Last-Modified: 舊時(shí)間
新文件 Last-Modified: 新時(shí)間
當(dāng)你用舊文件替換新文件后,由于新文件的最后修改時(shí)間要早于舊文件的,所以,IE不會(huì)讓用戶拿到?jīng)]有問(wèn)題的舊文件,而是讓他們使用新文件。
所以,如果你使用用舊文件替代新文件,一定要對(duì)舊文件做個(gè)小的處理,使其更新最后修改時(shí)間,不然,用戶依然會(huì)訪問(wèn)出問(wèn)題的頁(yè)面或者是維護(hù)頁(yè)面。
如何用好Cache-Control?
當(dāng)你不想讓用戶緩存時(shí),你只需要添加一個(gè)頭,no-store即可,其他no-cache、must、must-revalidate、proxy-revalidate等都沒(méi)必要用,因?yàn)閚o-store一般默認(rèn)為最高級(jí)。
其他可以讓用戶緩存的頁(yè)面,區(qū)分目錄,根據(jù)不同的目錄,配置不同的max-age頭。
max-age啥用處?
用戶得到HTTP響應(yīng)頭后,會(huì)根據(jù)本地時(shí)間,加上max-age的時(shí)間,形成一個(gè)過(guò)期時(shí)間。例如,用戶本次時(shí)間為11:00,max-age設(shè)置為600,那么文件拿到后,過(guò)期時(shí)間為11:10分。也就是這個(gè)用戶,在11:10分以前,訪問(wèn)這個(gè)文件,就會(huì)直接緩存命中,而不會(huì)對(duì)服務(wù)器發(fā)出請(qǐng)求。
所以,max-age的運(yùn)用就可以讓你的網(wǎng)站像那四大門(mén)戶一樣,大小減少到原來(lái)的10分之一,請(qǐng)求數(shù)也會(huì)短期內(nèi)得到巨大的減少。
如何設(shè)置Cache-Control?
如何設(shè)置百度娘之。
管理上的建議:
你不可能針對(duì)每個(gè)文件配置Cache-Control,所以,最好是先拆分域名,將不同應(yīng)用(文件類一個(gè)域名,圖片類一個(gè)域名等等)配置不同的緩存控制頭。
如果你的網(wǎng)站屬于大中型網(wǎng)站,如網(wǎng)頁(yè)訪問(wèn)帶寬在100M以上的,可能針對(duì)域名配置不同緩存控制頭,已經(jīng)不能滿足你的需求了,這個(gè)時(shí)候,就可以管理好你的目錄。
將文件根據(jù)你們網(wǎng)站特點(diǎn)分到不同目錄,然后針對(duì)目錄,配置不同的緩存控制頭。
max-age設(shè)置多大?
以下提出的均為建議值,但是最適合你的,是你自己根據(jù)網(wǎng)站特點(diǎn)進(jìn)行的緩存時(shí)間配置。
首頁(yè),建議為900,也就是15分鐘。
文本類文件,建議為10800,也就是3小時(shí)。
圖片類文件,建議為86400,也就是24小時(shí)。
Swf類文件,建議為604800,也就是7天。
flv、exe類文件,建議為31536000,也就是1年。
作者:王康
相關(guān)文章
Cloudfront 是 Amazon 提供的 CDN 服務(wù),有每月免費(fèi) 1T 的流量,該流量不可累計(jì),個(gè)人小站的話,這個(gè) CDN 是足夠用的了,而且主要是國(guó)內(nèi)訪問(wèn)的速度還不錯(cuò),但是需要注意不要2023-10-19
免費(fèi)為你的網(wǎng)站加速,全球訪問(wèn)加速還可以防御ddos攻擊的cloudflare
CDN加速通俗來(lái)講就是把網(wǎng)站在全國(guó)各地的服務(wù)器上復(fù)制一份(即鏡像服務(wù)器),用戶在訪問(wèn)的時(shí)候,路由自動(dòng)分配到最近的服務(wù)器,提升訪問(wèn)速度,大家在訪問(wèn)軟件下載站的時(shí)候,經(jīng)2023-10-09
什么是AMP(加速移動(dòng)頁(yè)面)Web開(kāi)發(fā)?AMP的好處以及它與響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)的
AMP技術(shù)是一項(xiàng)用于加速移動(dòng)Web頁(yè)面加載速度的技術(shù),它通過(guò)限制頁(yè)面的HTML、CSS和JavaScript的使用,從而提高頁(yè)面加載速度和性能,下面我們將從以下幾個(gè)方面對(duì)AMP技術(shù)進(jìn)行拓展2023-10-09谷歌站長(zhǎng)(Search Console)工具的注冊(cè)安裝及功能介紹
Google Search Console 是一項(xiàng)由 Google 提供的免費(fèi)服務(wù),可幫助您監(jiān)控和維護(hù)您的網(wǎng)站在 Google 搜索結(jié)果中的展示情況以及排查問(wèn)題,Search Console 可幫助您了解并改善 Go2023-05-13
打開(kāi)網(wǎng)站出現(xiàn)Internal Server Error的原因和解決方法
這篇文章主要介紹了打開(kāi)網(wǎng)站出現(xiàn)Internal Server Error的原因和解決方法的相關(guān)資料,需要的朋友可以參考下,解決方法:登陸FTP或文件管理器,檢查站點(diǎn)目錄文件權(quán)限設(shè)置,將2022-01-08
inxy:超低價(jià)“綜合型”國(guó)外CDN提供商,專業(yè)POP節(jié)點(diǎn)覆蓋亞洲\歐洲\美洲
inxy,這個(gè)2005年成立運(yùn)作至今的商家不但提供11個(gè)機(jī)房的VPS、24個(gè)機(jī)房獨(dú)立服務(wù)器,更重要的核心業(yè)務(wù)還有CDN,之所以要來(lái)推薦inxy的CDN是因?yàn)樵谛詢r(jià)比上面有著獨(dú)到的優(yōu)勢(shì)2020-11-16
分享盤(pán)點(diǎn)10個(gè)可免費(fèi)使用的網(wǎng)站CDN加速服務(wù)
大部分服務(wù)商(如阿里云,網(wǎng)易蜂巢,京東云等)的CDN服務(wù)是按使用量收費(fèi)的,也有一些服務(wù)商提供免費(fèi)的CDN服務(wù),這篇文章主要介紹了分享盤(pán)點(diǎn)10個(gè)可免費(fèi)使用的網(wǎng)站CDN加速服2020-08-17INXY:運(yùn)作全球26個(gè)國(guó)家和地區(qū)的 獨(dú)立服務(wù)器、VPS、CDN業(yè)務(wù),價(jià)格超便
INXY主要運(yùn)作獨(dú)立服務(wù)器、VPS、CDN、DNS四大類業(yè)務(wù)。inxy有自己的機(jī)房,也賣全球其他國(guó)家和地區(qū)的相關(guān)業(yè)務(wù),可以說(shuō)是一個(gè)超大型的reseller2019-09-29新手干貨之網(wǎng)站建設(shè)中常見(jiàn)的一些問(wèn)題
這篇文章主要介紹了新手干貨之網(wǎng)站建設(shè)中常見(jiàn)的一些問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-09-18給我三分鐘還你一個(gè)不買(mǎi)視頻會(huì)員的理由,手把手教搭建電影網(wǎng)站
本篇文章主要介紹了手把手教搭建電影網(wǎng)站,今天我們就來(lái)搭建一個(gè)VIP電影網(wǎng)站,本文主旨在于,從基礎(chǔ)的搭建一個(gè)簡(jiǎn)單的解析網(wǎng)站來(lái)引入一些思路,手把手什么的最貼心了。2019-08-22





