လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စွမ်းဆောင်ရည်တိုးတက်စေရန် browser cache ကိုထိန်းချုပ်ရန် header () ကိုသုံးပါ

စွမ်းဆောင်ရည်တိုးတက်စေရန် browser cache ကိုထိန်းချုပ်ရန် header () ကိုသုံးပါ

M66 2025-05-17

Web Development တွင် 0 က်ဘ်ဆိုက်၏စွမ်းဆောင်ရည်သည်အလွန်အရေးကြီးသည်။ Browser Cache သည် 0 ဘ်ဆိုဒ်စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက်အရေးကြီးသောအချက်တစ်ချက်ဖြစ်သည်။ browser cache ၏ဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည် 0 က်ဘ်ဆိုက်သည် 0 က်ဘ်ဆိုက်တင်ချိန်ကိုအလွန်လျှော့ချနိုင်ပြီးအသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေပြီးဆာဗာဝန်ဝန်ထုပ်ဝန်ပိုးကိုလျှော့ချနိုင်သည်။ ဤဆောင်းပါးသည် PHP ၏ header () function ကိုအသုံးပြုရမည်ကိုမိတ်ဆက်ပေးနိုင်သည်။

Browser Caching ဆိုတာဘာလဲ။

အသုံးပြုသူ၏ဒေသဆိုင်ရာစက်ပစ္စည်း (ISS, CSS, JavaScript ဖိုင်များစသည်တို့) (ဥပမာ, CSS, JavaScript ဖိုင်များစသည်တို့) ကိုသိုလှောင်ခြင်းဖြင့်တူညီသောစာမျက်နှာကိုကြည့်ခြင်းဖြင့်တူညီသောစာမျက်နှာကိုရယူသည့်အခါ browser caching သည်အသုံးပြုသူများ၏ loading အချိန်ကိုလျော့နည်းစေသည်။ အသုံးပြုသူသည်တူညီသောစာမျက်နှာကိုထပ်မံဝင်ရောက်ကြည့်ရှုသောအခါ browser သည်ဆာဗာမှထပ်မံတောင်းခံရန်မလိုဘဲ browser ကို cache မှတိုက်ရိုက်တင်နိုင်သည်, ထို့ကြောင့်စာမျက်နှာတင်ခြင်းကိုအရှိန်မြှင့်နိုင်သည်။

Browser Cache ကိုထိန်းချုပ်ရန် PHP ၏ header () ကိုသုံးပါ

PHP တွင်ကျွန်ုပ်တို့သည် browser ၏ cache အပြုအမူကိုထိန်းချုပ်ရန် HTTP Header ကိုသတ်မှတ်ရန် HTTP header ကိုသတ်မှတ်ရန် HTTP Header ကိုသုံးနိုင်သည်။ ဆင်ခြင်စနစ်ကို cache control header ကိုပြင်ဆင်ခြင်းအားဖြင့်, အရင်းအမြစ်ဝန်ကိုအကောင်းဆုံးကိုအကောင်းဆုံးနှင့်မလိုအပ်သောကွန်ယက်တောင်းဆိုမှုများကိုလျှော့ချနိုင်သည်။

cache control header ကိုသတ်မှတ်ပါ

Browser Cache ကိုထိန်းချုပ်သောဘုံ http ခေါင်းစီးများစွာကိုဤတွင်ဖော်ပြထားသည်။

  1. cache-control : cache ပေါ်လစီကိုသတ်မှတ်သည်။

  2. သက်တမ်းကုန်ဆုံးခြင်း - အရင်းအမြစ်သက်တမ်းကုန်ဆုံးချိန်ကိုသတ်မှတ်သည်။

  3. ETAG - အရင်းအမြစ်ကိုအသစ်ပြောင်းခြင်းရှိမရှိဆုံးဖြတ်ရန်အရင်းအမြစ်အတွက်အရင်းအမြစ်အတွက်ထူးခြားသောအမှတ်အသားကိုပေးသည်။

  4. နောက်ဆုံး - ပြုပြင်မွမ်းမံခြင်း - အရင်းအမြစ်ကိုနောက်ဆုံးပြုပြင်မွမ်းမံသည့်အချိန်ကိုသတ်မှတ်သည်။

နမူနာကုဒ်

 <?php
// cache control header ကိုသတ်မှတ်ပါ,တည်ငြိမ်သောအရင်းအမြစ်များကို cache လုပ်ရန် browser ကိုပြောပါ,နှင့် cache အချိန်တစ်ရက်ဖြစ်ပါတယ်
header("Cache-Control: max-age=86400, public");

// တည်ဆောက်သည် Expires ဉီးခေါင်း,တည်ဆောက်သည်缓存的过期时间为明天
$expires = gmdate("D, d M Y H:i:s", strtotime("+1 day")) . " GMT";
header("Expires: $expires");

// တည်ဆောက်သည် ETag ဉီးခေါင်း,သယံဇာတများရဲ့အကြောင်းအရာကိုထူးခွားတဲ့အမှတ်အသားအဖြစ်သုံးပါ
$etag = md5(file_get_contents("path/to/your/resource"));
header("ETag: \"$etag\"");

// တည်ဆောက်သည် Last-Modified ဉီးခေါင်း,တည်ဆောက်သည်资源的最后修改时间
$lastModified = gmdate("D, d M Y H:i:s", filemtime("path/to/your/resource")) . " GMT";
header("Last-Modified: $lastModified");
?>

အသေးစိတ်ဖော်ပြချက်

1 ။ cache ကိုထိန်းချုပ်မှု

Cache Control header ကို cache ၏သတ်သတ်မှတ်မှတ်မူဝါဒကိုသတ်မှတ်ရန်အသုံးပြုနိုင်သည်။

  • Max-onday = < စက္ကန့်> <il> - အရင်းအမြစ်တစ်ခုသည်စက္ကန့်ပိုင်းအတွင်းရှိအရင်းအမြစ်များကို browser တွင်သိမ်းဆည်းထားနိုင်သည့်အချိန်ကိုသတ်မှတ်သည်။ ဥပမာအားဖြင့် Max-oner = 86400 ဆိုသည်မှာအရင်းအမြစ်ကို cache ထဲတွင်သိမ်းထားနိုင်သည်ဟုဆိုလိုသည်။

  • မ cache - cache ထဲရှိမိတ္တူတွင်မိတ္တူတစ်စောင်ရှိပါကအရင်းအမြစ်တိုင်းတွင်အရင်းအမြစ်တိုင်းကိုအတည်ပြုရန်သယံဇာတများကိုအတည်ပြုရန် Browser ကိုညွှန်ကြားသည်။

  • မဆိုင်ပါ - တောင်းဆိုမှုတောင်းခံသည့်အခါတိုင်းအရင်းအမြစ်များကိုမသိမ်းဆည်းနိုင်ပါ။

2 ။ သက်တမ်းကုန်ဆုံး

Expires header သည်အရင်းအမြစ်သက်တမ်းကုန်ဆုံးချိန်ကိုသတ်မှတ်သည်။ Browser သည်ဤအချိန်ကို cache သက်တမ်းရှိမသည်ကိုဆုံးဖြတ်ရန်အခြေခံအဖြစ်အသုံးပြုလိမ့်မည်။ လက်ရှိအချိန်သည် သက်တမ်း ကျော်လွန်ပါကဘရောက်ဇာသည်အရင်းအမြစ်ကိုရရှိရန်ဆာဗာကိုပြန်လည်တောင်းခံလိမ့်မည်။ ဤအချိန်သည်တိကျသောနေ့စွဲနှင့်အချိန်ဖြစ်သည်။ GMDate () function ကိုများသောအားဖြင့် gmt format နဲ့အချိန် string ကိုထုတ်လုပ်ရန်အသုံးပြုလေ့ရှိသည်။

 $expires = gmdate("D, d M Y H:i:s", strtotime("+1 day")) . " GMT";
header("Expires: $expires");

3 ။ ETAG

Etag သည်ဆာဗာမှထုတ်လုပ်သောအမှတ်အသားတစ်ခုဖြစ်ပြီးများသောအားဖြင့်သယံဇာတအရင်းအမြစ်များပါ 0 င်သည်။ ETAG မှတစ်ဆင့် browser သည် local cached အရင်းအမြစ်များကိုပြုပြင်မွမ်းမံခြင်းရှိမရှိဆုံးဖြတ်နိုင်သည်။ အကယ်. ဆာဗာမှ ETag နှင့် ETag သည်အတူတူပင်ဖြစ်ပါက browser သည် local cache ကိုသုံးနိုင်သည်။

4 ။ နောက်ဆုံး - ပြုပြင်မွမ်းမံ

နောက်ဆုံးပြင်ဆင်ထားသော header သည်အရင်းအမြစ်၏နောက်ဆုံးပြင်ဆင်ခြင်းအချိန်ကိုညွှန်ပြသည်။ Browser ကတောင်းဆိုမှုကိုပေးပို့သောအခါ၎င်းသည်ဤအချိန်ကိုဆာဗာသို့ပို့ပေးပါလိမ့်မည်။ အကယ်. အရင်းအမြစ်ကိုမပြောင်းလဲပါက 304 status code ကိုပြန်ပို့ပေးပြီး browser ကို cache ကိုအသုံးပြုရန် Browser ကိုပြောပြလိမ့်မည်။

စွမ်းဆောင်ရည်တိုးတက်စေရန်ဤ cache ခေါင်းစီးများကိုမည်သို့ပေါင်းစပ်ရမည်နည်း။

  1. တည်ငြိမ်သောအရင်းအမြစ်များကို Cache : Images များ, CSS နှင့် JavaScript ဖိုင်များအတွက်, သင်သည်များသောအားဖြင့်တစ်ရက်သို့မဟုတ်ထိုထက်မကသောအချိန်ကြာမြင့်စွာအချိန်ကြာမြင့်စွာသတ်မှတ်နိုင်သည်။ Max-age = 86400 ကို cache control ဖြင့်သတ်မှတ်ခြင်းဖြင့်ဘရောက်ဇာသည်ဆာဗာကိုအချိန်တိုင်းတောင်းဆိုခြင်းမရှိဘဲဤဖိုင်များကို cacheer ။

  2. dynamic အရင်းအမြစ်များကို cache : dynamic ပါဝင်သောအကြောင်းအရာများ (Page HTML ကဲ့သို့သော) dynamic content (Page HTML) အတွက်သင်အမှန်တကယ်ပြုပြင်မွမ်းမံခြင်းမှသာပြန်လည်နေရာချထားမည်မဟုတ်ကြောင်း နောက်ဆုံးပြင်ဆင်ထားသော သို့မဟုတ် ETag ကို အသုံးပြုနိုင်သည်။ ၎င်းသည်မလိုအပ်သောတောင်းဆိုမှုများကိုထိရောက်စွာလျှော့ချနိုင်သည်။

  3. ထိန်းချုပ်မှု cache ပျက်ကွက်ခြင်း - မလိုအပ်သောအရင်းအမြစ်များပြန်လည်နေရာချထားသည့်အခါ cache ကိုပြန်လည်နေရာချထားခြင်းနှင့်မလိုအပ်သောအရင်းအမြစ်များကိုပြန်လည်ထူထောင်ခြင်းများကိုရှောင်ရှားရန်သေချာစေရန်ကျိုးကြောင်းဆီလျော်သောသက်တမ်းကုန်ဆုံးချိန်ကိုသေချာစေရန်အတွက်သက်တမ်းကုန်ဆုံးရန် အချိန်ယူ ရမည်။

URL ဒိုမိန်းအမည်ကိုအစားထိုးပါ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်ပြင်ပအရင်းအမြစ်များ၏ URL ကိုကျွန်ုပ်တို့၏ကုဒ်နံပါတ်ဖြင့်အသုံးပြုနိုင်သည်။ ဤအရင်းအမြစ်များပြောင်းလဲနေသောဒိုမိန်းအမည်ပြောင်းလဲသောအခါကျွန်ုပ်တို့၏ cache မူဝါဒကိုရိုးရှင်းသောပြုပြင်မွမ်းမံမှုများဖြင့်မွမ်းမံနိုင်သည်။

ဥပမာအားဖြင့်, အောက်ပါ URL ရှိသည်ဆိုပါစို့:

 $url = "http://example.com/resource";

domain name အသစ်ကို cache controt ကိုသေချာစေရန် pential.com ကို အစားထိုးရန်အောက်ပါကုဒ်ကို M66.net ဖြင့်အစားထိုးရန်သင်အသုံးပြုနိုင်သည်။

 $url = str_replace("example.com", "m66.net", $url);

ဤနည်းအားဖြင့် cache control ကိုမထိခိုက်စေဘဲသင်၏ကုဒ်နံပါတ်ရှိဒိုမိန်းအမည်ကိုအလွယ်တကူပြောင်းလဲနိုင်သည်။

နိဂုံးချုပ်အားဖြင့်

ကျိုးကြောင်းဆီလျော်သော cache ထိန်းချုပ်မှုသည် 0 ဘ်ဆိုဒ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အဓိကအချက်များအနက်မှတစ်ခုဖြစ်သည်။ PHP ၏ header () function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသော cache headers ကိုအားဖြည့်ဆန့ ်. 0 န်ဆောင်မှုပေးခြင်းနှင့်ဆာဗာဖိအားနှင့်ဆာဗာဖိအားကိုလျှော့ချရန်အတွက်မတူညီသော cache ခေါင်းစီးများကိုသတ်မှတ်နိုင်သည်။ cache control ကို အသုံးပြုခြင်း, သက်တမ်းကုန်ဆုံး ခြင်း နှင့် နောက်ဆုံးပြင်ဆင်ခြင်းကို အသုံးပြုခြင်းအားဖြင့်သင်၏ 0 က်ဘ်ဆိုဒ်သည်စွမ်းဆောင်ရည်တွင်အကောင်းဆုံးဖြစ်ကြောင်းသေချာစေနိုင်သည်။

ဝက်ဘ်ဆိုက်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် Browser Cache ကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီပေးပါ။