PHP တွင် Http HTTP HTTP ကျောင်းများသို့ 0 န် ဆောင်မှုခံယူသူသို့ပို့ရန်အလွန်အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် အကြောင်းအရာအမျိုးအစား , တည်နေရာ , ကျေနပ်ရောင့်ရဲမှု နှင့် စသည်တို့ပါ 0 င်သည်။
အကြောင်းအရာအရှည် header fields များသည် HTTP တုံ့ပြန်မှုများနှင့်တောင်းဆိုမှုများတွင်အရေးပါသောအခန်းကဏ် play မှပါ 0 င်သည်။ ဆာဗာအတွက် client-length ကို ချိန်ညှိခြင်း 0 န်ဆောင်မှုခံယူသူအားတုန့်ပြန်မှုခန္ဓာကိုယ်၏အရွယ်အစားအတိအကျကိုပြောပြနိုင်သည်။ ၎င်းသည်ဖောက်သည်များအားသက်ဆိုင်ရာကြားခံသို့မဟုတ်ရှာဖွေမှုများကိုပြင်ဆင်ရန်ကူညီနိုင်သည်။
PHP တွင်ကျွန်ုပ်တို့သည် အကြောင်းအရာအရှည် header ကို header () function မှတဆင့်ကိုယ်တိုင်ချမှတ်နိုင်သည်။
header('Content-Length: ' . strlen($content));
$ အကြောင်းအရာသည် သင် client ကိုသင်ပို့လိုသောအချက်အလက်များဖြစ်သည်။ strlen ($ အကြောင်းအရာ) သည်အကြောင်းအရာများ၏ byte အရှည်ကိုတွက်ချက်ပြီး အကြောင်းအရာအရှည် သို့သတ်မှတ်သည်။
Client ကိုတုန့်ပြန်မှုခန္ဓာကိုယ်၏အရွယ်အစားကိုပြောပြပါ ။ Content-life မရှိတော့ပါ။ အထူးသဖြင့်ကြီးမားသောဒေတာများကိုဖယ်ရှားပေးသည့်အခါမလိုအပ်ဘဲစောင့်ဆိုင်းနေသည့်သို့မဟုတ်အချိန်ကုန်ပြ issues နာများကိုဖြစ်ပေါ်စေသည့်တုန့်ပြန်မှုခန္ဓာကိုယ်၏အရွယ်အစားအရွယ်အစားကိုဖောက်သည်အားမသိပါ။
ကွန်ယက် bandwidth ကို optimize : client သည်တုန့်ပြန်မှုခန္ဓာကိုယ်၏အရွယ်အစားအတိအကျကိုသိရှိသောအခါ၎င်းသည်မကြာခဏမှတ်ဉာဏ်ခွဲဝေချထားပေးခြင်းနှင့်ဒေတာပွားခြင်းများကိုရှောင်ရှားရန်သင့်လျော်သောကြားခံများကိုကြိုတင်ကြေငြာနိုင်သည်။
လွှဲပြောင်းမှုအမှားများကိုရှောင်ကြဉ်ပါ ။ 0 န်ဆောင်မှုခံယူသူသည်သတ်မှတ်ထားသောအရွယ်အစားတစ်ခု၏တုန့်ပြန်မှုကိုရယူရန်မျှော်လင့်ထားလျှင်အမှားတစ်ခုချထားပါက, အကြောင်းအရာကို မှန်ကန်စွာသတ်မှတ်ခြင်းဖြင့်ဤပြ problem နာကိုထိရောက်စွာကာကွယ်နိုင်သည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် API တောင်းဆိုမှုများနှင့်တုန့်ပြန်မှုများတွင် ကျေနပ်ရောင့်ရဲမှု ၏အခန်းကဏ် of သည်အထူးအရေးကြီးသည်။ ၎င်းသည်ဆာဗာများနှင့်ဖောက်သည်များအားပြန်လည်ထူထောင်ရေးဆိုင်ရာအချက်အလက်များအားမှန်ကန်စွာလုပ်ဆောင်ရန်နှင့်တုန့်ပြန်မှုအချက်အလက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။ ဤတွင်အချို့သောပုံမှန် application တစ်ခုမှာ -
ဖိုင်များကိုတင်ခြင်းသို့မဟုတ်ဒေါင်းလုတ်လုပ်သောအခါအချက်အလက်များ၏ကူးစက်မှုကိုတိကျစွာထိန်းချုပ်ရန်လိုအပ်သည်။ File Upload တွင် 0 န်ဆောင်မှုခံယူသူသည်များသောအားဖြင့် content-length ကိုပါ 0 င်သော header ကိုပို့ပေးပါလိမ့်မည်။ ဆာဗာဘက်မှာ PHP သည် တင်ထားသော ဖိုင်များကိုတင်ရန် $ _files များကို သုံးနိုင်သည်။
ဥပမာအားဖြင့် Client တစ်ခုသည်ဖိုင်တစ်ခုပို့သောအခါအောက်ပါတောင်းဆိုမှုခေါင်းစဉ်များပါ 0 င်နိုင်သည်။
POST /upload HTTP/1.1
Host: m66.net
Content-Length: 1048576
ဤအချက်က 0 န်ဆောင်မှုခံယူသူသည်အရွယ်အစား 1MB ဖိုင်ကိုတင်ရန်စီစဉ်ထားကြောင်းဖော်ပြသည်။ ဆာဗာသည်တောင်းဆိုမှုကိုလက်ခံရရှိပြီးနောက်ဖိုင်အရွယ်အစားသည် အကြောင်းအရာ - အရှည် အပေါ် အခြေခံ. တင်ထားသောတင်ထားသောအချက်အလက်များနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်သည်။
အချို့ API တောင်းဆိုမှုများတွင်တုန့်ပြန်မှုအချက်အလက်များသည်အလွန်ကြီးမားပြီး streaming လိုအပ်သည်။ အကြောင်းအရာ - အရှည် မသတ်မှတ်ထားပါကသုံးစွဲသူသည်အချက်အလက်များကိုမည်သည့်အချိန်တွင်လက်ခံမည်ကိုရပ်တန့်ရန်အခက်တွေ့ရန်အခက်တွေ့နိုင်သည်။ ဥပမာအားဖြင့်, ဖိုင်အမျိုးအစားအမြောက်အမြားသို့မဟုတ်ဗွီဒီယိုလွှင့်စက်များဖြင့် 0 န်ဆောင်မှုများတွင်ဆာဗာသည် 0 န်ဆောင်မှုခံယူနိုင်သောအကြောင်းအရာအရွယ်အစားကိုပြသလေ့ရှိသည်။
// တုံ့ပြန်မှုခေါင်းစီးကိုသတ်မှတ်ပါ
header('Content-Type: application/json');
header('Content-Length: ' . strlen($jsonData));
echo $jsonData;
ဤနည်းအားဖြင့် client သည်တု န့် ပြန်မှုခန္ဓာကိုယ်၏အရွယ်အစားကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ပြီး streaming ကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။
အကြောင်းအရာများသည် အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါ 0 န်ဆောင်မှုပမာဏကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ 0 န်ဆောင်မှုခံယူသူအားအချက်အလက်အရွယ်အစားအတိအကျကိုပြောပြခြင်းအားဖြင့်ဆာဗာသည်အကြောင်းအရာအလျားများ၏ထပ်ခါတလဲလဲတွက်ချက်မှုများကိုရှောင်ရှားနိုင်ပြီး client သည်ပိုမိုထိရောက်သောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုပြုလုပ်နိုင်သည်။ ၎င်းသည်စွမ်းဆောင်ရည်မြင့်မားခြင်းနှင့်အနိမ့်အနေဖြင့်အနိမ့်အနေဖြင့်လိုအပ်သော API တောင်းဆိုမှုများအတွက်အလွန်အရေးကြီးသည်။
အချို့ဖြစ်ရပ်များတွင်ဆာဗာသည်တုန့်ပြန်မှုမျိုးစုံပေးပို့ရန်အမြဲတမ်းဆက်သွယ်မှု (ဆက်လက်ရှင်သန်ခြင်း) ကိုသုံးနိုင်သည်။ အကယ်. အကြောင်းအရာ - အရှည်ကို သတ်မှတ်ပါက 0 န်ဆောင်မှုခံယူသူသည်တုန့်ပြန်မှုအဆုံးသတ်မည်ကိုသိရှိပြီးနောက်တောင်းဆိုမှုကိုလက်ခံရရှိရန်အဆင်သင့်ဖြစ်လိမ့်မည်။ မသတ်မှတ်ပါက chunked transfer encoding ကိုသုံးနိုင်သည် ( လွှဲပြောင်း-encoding: chunked ) ။ သို့သော်တုန့်ပြန်မှုအဖွဲ့၏အရွယ်အစားကိုလူသိများပါက အကြောင်းအရာအရှည်ကို သတ်မှတ်ခြင်းသည် chunked ထုတ်လွှင့်ခြင်းများကိုအသုံးပြုခြင်းနှင့် overhead ကိုလျှော့ချနိုင်သည်။
ပါ 0 င်သည့် PHP တွင် header () function မှတဆင့် header () function မှတဆင့်သတ်မှတ်ထားသည်။ အထူးသဖြင့်ဖိုင်တင်ခြင်း, streaming နှင့် big data rescords များကိုကိုင်တွယ်သည့်အခါ အကြောင်းအရာ - အရှည်သည် အချက်အလက်သမာဓိရှိမှုနှင့်ထုတ်လွှင့်မှုစွမ်းဆောင်နိုင်မှုကိုသေချာစေရန်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။
အကြောင်းအရာအရှည် header ကိုသင့်တော်စွာအသုံးပြုခြင်းသည် API တောင်းဆိုမှုများ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရုံသာမက api တောင်းဆိုမှုများကိုပိုမိုကောင်းမွန်စေရုံသာမကဂီယာအမှားများနှင့် API အလေ့အကျင့်များတွင်အရေးပါသောအနေအထားကိုလည်းလျော့နည်းစေသည်။