Restable Api သည် HTTP protocol အကောင်အထည်ဖော်မှုအပေါ် အခြေခံ. interface style တစ်ခုဖြစ်သည်။ ၎င်းသည်အရင်းအမြစ်နှင့်အရင်းအမြစ်၏အခြေအနေကိုခွဲခြားသတ်မှတ်ခြင်းကို client နှင့် server အကြားအပြန်အလှန်ဆက်သွယ်မှုကိုပိုမိုလွယ်ကူစေသည်။ ငြိမ်ဝပ်စွာ API ကို အသုံးပြု. Cache သည်စွမ်းဆောင်ရည်အကောင်းဆုံးတွင်အရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ Cache Control သည် cache ကို Cache ကိုမည်သို့အသုံးပြုရမည်ကိုပြောပြရန်ဆာဗာတွင် http ခေါင်းစီးများကိုသတ်မှတ်ရန်ရည်ညွှန်းသည်။
HTTP ခေါင်းစီးများသည် HTTP တောင်းဆိုမှုများနှင့်တုန့်ပြန်မှုများတွင်ပါ 0 င်သည်။
cache-control သည်သုံးစွဲသူတောင်းဆိုမှုများ, proxy server cache cache များနှင့်ဆာဗာတုံ့ပြန်မှုများကိုထိန်းချုပ်ရန် HTTP / 1.1 တွင်ထည့်သွင်းထားသောညွှန်ကြားချက်အသစ်တစ်ခုဖြစ်သည်။ ဘုံတန်ဖိုးများမှာအောက်ပါအတိုင်းဖြစ်သည် -
Etag သည် HTTP တုန့်ပြန်မှုခေါင်းစဉ်တွင်လက်ရှိအရင်းအမြစ်အခြေအနေကိုဖော်ထုတ်သည့် entity tag ဖြစ်သည်။ တောင်းဆိုသည့်အခါ 0 န်ဆောင်မှုခံယူသူသည်ယခင်ကမယှဉ်ပြိုင်မှု header မှတဆင့်ဆာဗာသို့ယခင်ကရရှိသော ETag တန်ဖိုးကိုဆာဗာသို့ပို့သည်။ ဆာဗာသည် ETag တန်ဖိုးကိုတသမတ်တည်းရှိမရှိနှင့်နှိုင်းယှဉ်သည်။ အကယ်. ၎င်းသည်တသမတ်တည်းဖြစ်ပါက 304 ကိုပြုပြင်မွမ်းမံထားသောတုံ့ပြန်မှုမရှိပါ။ client သည် cache ကိုတိုက်ရိုက်အသုံးပြုနိုင်သည်။
နောက်ဆုံးပြင်ဆင်ထားသော - လက်ရှိအရင်းအမြစ်၏နောက်ဆုံးပြင်ဆင်ထားသောအချိန်ကိုဖော်ထုတ်သည့် HTTP တုံ့ပြန်မှုခေါင်းစီးတွင်ရက်စွဲသတ်မှတ်ချက်ဖြစ်သည်။ တောင်းဆိုသည့်အခါ 0 န်ဆောင်မှုခံယူသူသည်ယခင်ကရရှိသောနေ့စွဲနှင့်အချိန်တန်ဖိုးကို header မှ server မှတစ်ဆင့်ဆာဗာမှတဆင့်ယခင်ကရရှိသောနေ့စွဲနှင့်အချိန်တန်ဖိုးကိုပေးပို့သည်။ ဆာဗာသည်နေ့စွဲနှင့်အချိန်သည်တသမတ်တည်းရှိ / ရှိမရှိနှင့်နှိုင်းယှဉ်သည်။ အကယ်. ၎င်းသည်တသမတ်တည်းဖြစ်ပါက 304 ကိုပြုပြင်မွမ်းမံထားသောတုံ့ပြန်မှုမရှိပါ။ client သည် cache ကိုတိုက်ရိုက်အသုံးပြုနိုင်သည်။
PHI တွင်ပြန်လည်နေရာချထားသည့် api cache contact ကိုအကောင်အထည်ဖော်ခြင်း HTTP header အချက်အလက်များကိုသတ်မှတ်ခြင်းဖြင့်အောင်မြင်နိုင်သည်။
Cache Control header ကိုဆာဗာပေါ်ရှိ header function မှတဆင့်သတ်မှတ်နိုင်သည်, ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$maxAge = 600; // သိုကာတာ600စက်ဏန့်
header('Cache-Control: public, max-age=' . $maxAge);
အထက်ပါကုဒ်သည် cache control header ကိုလူသိရှင်ကြားလူသိရှင်ကြားထုတ်ဖော်ပြောဆိုသည်။ Middleman (Proxy server ကဲ့သို့) သည်စက္ကန့် 600 ဖြစ်သည်။
ETAG Header ကိုဆာဗာပေါ်ရှိ header function မှတဆင့်သတ်မှတ်နိုင်သည်, ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$etag = md5($responseBody); // တုံ့ပြန်မှုအကြောင်းအရာအပေါ်အခြေခံပြီး entity tags များကိုထုတ်လုပ်ပါ
header('ETag: ' . $etag);
အထက်ပါကုဒ်သည်တုန့်ပြန်မှုအကြောင်းအရာအပေါ် အခြေခံ. ETag Tag ကိုထုတ်ပေးသည်။
နောက်ဆုံးပြုပြင်ထားသောခေါင်းစီးကိုဆာဗာပေါ်ရှိ header function မှတဆင့်သတ်မှတ်နိုင်သည်။
$lastModifiedTime = filemtime($filePath); // ဖိုင်၏နောက်ဆုံးပြုပြင်မွမ်းမံအချိန်ကိုရယူပါ
$lastModified = gmtdate('r', $lastModifiedTime);
header('Last-Modified: ' . $lastModified);
အထက်ပါကုဒ်သည်ဖိုင်၏နောက်ဆုံးပြုပြင်မွမ်းမံချိန်ကိုယူပြီး၎င်းကို GMT format နှင့်ပြောင်းလဲပြီးတုန့်ပြန်ခေါင်းစီး၏တစ်စိတ်တစ်ပိုင်းအဖြစ်သတ်မှတ်သည်။
ငြိမ်ဝပ်စွာ api ၏ cache control သည်လျှောက်လွှာစွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေပြီး server အရင်းအမြစ်များကိုတောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများကိုလျှော့ချနိုင်သည်။ Restable Api ၏ cache control ကိုအကောင်အထည်ဖော်သည့်အခါ 0 န်ဆောင်မှုခံယူသူအား Cache ကိုမည်သို့ cache ကိုအသုံးပြုရမည်ကိုပြောပြရန် HTTP ခေါင်းစီးများကိုစီစဉ်နိုင်သည်။ HTTP Header တွင် cache control ကဲ့သို့သောအရေးကြီးသောသတင်းအချက်အလက်များပါဝင်သည်။ client သည် cache response ကိုတိုက်ရိုက်အသုံးပြုနိုင်သည်ကိုဆုံးဖြတ်ရန်ဤအချက်အလက်ကိုအသုံးပြုနိုင်သည်။