HTTP တောင်းဆိုမှုနည်းလမ်းများ
HTTP ဆိုတာဘာလဲ။
Hypertext Transfer Protocol (HTTP) သည် သုံးစွဲသူများနှင့် ဆာဗာများအကြား ဆက်သွယ်မှုများကို လုပ်ဆောင်ရန် ဒီဇိုင်းထုတ်ထားသည်။
HTTP သည် client နှင့် server အကြား တောင်းဆိုချက်-တုံ့ပြန်မှု ပရိုတိုကောအဖြစ် လုပ်ဆောင်သည်။
ဥပမာ- ကလိုင်းယင့် (ဘရောက်ဆာ) သည် ဆာဗာထံသို့ HTTP တောင်းဆိုချက်တစ်ခု ပေးပို့သည်၊ ထို့နောက် server သည် client ထံ တုံ့ပြန်မှုကို ပြန်ပေးသည်။ တုံ့ပြန်မှုတွင် တောင်းဆိုချက်နှင့်ပတ်သက်သည့် အခြေအနေအချက်အလက်များပါရှိပြီး တောင်းဆိုထားသော အကြောင်းအရာများလည်း ပါဝင်နိုင်သည်။
HTTP နည်းလမ်းများ
- ရယူပါ။
- ပို့စ်
- ထား
- ဦးခေါင်း
- ဖျက်ပါ။
- Patch
- ရွေးချယ်စရာများ
အသုံးအများဆုံး HTTP နည်းလမ်းနှစ်ခုမှာ GET နှင့် POST ဖြစ်သည်။
GET နည်းလမ်း
GET ကို သတ်မှတ်ထားသော ရင်းမြစ်တစ်ခုမှ ဒေတာတောင်းခံရန် အသုံးပြုသည်။
GET သည် အသုံးအများဆုံး HTTP နည်းလမ်းများထဲမှ တစ်ခုဖြစ်သည်။
မေးခွန်းစာကြောင်း (အမည်/တန်ဖိုးအတွဲများ) ကို GET တောင်းဆိုမှုတစ်ခု၏ URL တွင် ပေးပို့ထားကြောင်း သတိပြုပါ-
/test/demo_form.php?name1=value1&name2=value2
GET တောင်းဆိုချက်များဆိုင်ရာ အခြားမှတ်စုအချို့
- GET တောင်းဆိုမှုများကို ကက်ရှ်လုပ်နိုင်ပါသည်။
- GET တောင်းဆိုမှုများသည် ဘရောက်ဆာမှတ်တမ်းတွင် ကျန်ရှိနေပါသည်။
- GET တောင်းဆိုမှုများကို bookmark လုပ်နိုင်သည်။
- အရေးကြီးသောဒေတာများနှင့် ကိုင်တွယ်ရာတွင် GET တောင်းဆိုမှုများကို မည်သည့်အခါမျှ အသုံးမပြုသင့်ပါ။
- GET တောင်းဆိုမှုများတွင် အရှည်ကန့်သတ်ချက်များရှိသည်။
- GET တောင်းဆိုချက်များကို ဒေတာတောင်းဆိုရန်အတွက်သာ အသုံးပြုသည် (မွမ်းမံပြင်ဆင်ခြင်းမပြုပါ)
POST နည်းလမ်း
ရင်းမြစ်တစ်ခုဖန်တီးရန်/မွမ်းမံရန် POST ကို ဆာဗာတစ်ခုသို့ ဒေတာပေးပို့ရန် အသုံးပြုသည်။
POST ပါသော ဆာဗာသို့ ပေးပို့သည့်ဒေတာကို HTTP တောင်းဆိုချက်၏ တောင်းဆိုချက်ကိုယ်ထည်တွင် သိမ်းဆည်းထားသည်-
POST /test/demo_form.php HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
POST သည် အသုံးအများဆုံး HTTP နည်းလမ်းများထဲမှ တစ်ခုဖြစ်သည်။
POST တောင်းဆိုချက်များအတွက် အခြားမှတ်စုအချို့
- POST တောင်းဆိုမှုများကို မည်သည့်အခါမှ ကက်ရှ်မလုပ်ပါ။
- POST တောင်းဆိုချက်များသည် ဘရောင်ဇာမှတ်တမ်းတွင် မကျန်တော့ပါ။
- POST တောင်းဆိုမှုများကို မှတ်သား၍မရပါ။
- POST တောင်းဆိုမှုများတွင် ဒေတာအရှည်အပေါ် ကန့်သတ်ချက်များမရှိပါ။
PUT နည်းလမ်း
PUT ကို အရင်းအမြစ်တစ်ခု ဖန်တီး/မွမ်းမံရန် ဆာဗာတစ်ခုသို့ ဒေတာပေးပို့ရန် အသုံးပြုသည်။
POST နှင့် PUT အကြား ခြားနားချက်မှာ PUT တောင်းဆိုချက်များသည် အစွမ်းအစမရှိပေ။ ဆိုလိုသည်မှာ တူညီသော PUT တောင်းဆိုချက်ကို အကြိမ်များစွာ ခေါ်ဆိုခြင်းသည် တူညီသောရလဒ်ကို အမြဲရရှိမည်ဖြစ်သည်။ ဆန့်ကျင်ဘက်အားဖြင့်၊ POST တောင်းဆိုချက်ကို ထပ်ခါတလဲလဲခေါ်ဆိုခြင်းသည် တူညီသောအရင်းအမြစ်ကို အကြိမ်များစွာဖန်တီးခြင်း၏ ဘေးထွက်ဆိုးကျိုးများရှိသည်။
HEAD နည်းလမ်း
HEAD သည် GET နှင့်နီးပါးတူသော်လည်း တုံ့ပြန်မှုကိုယ်ထည်မပါပါ။
တစ်နည်းအားဖြင့် GET /users သည် အသုံးပြုသူများစာရင်းကို ပြန်ပေးမည်ဆိုပါက၊ HEAD /users များသည် တူညီသောတောင်းဆိုမှုကို ပြုလုပ်လိမ့်မည်ဖြစ်သော်လည်း အသုံးပြုသူများစာရင်းကို ပြန်ပေးမည်မဟုတ်ပါ။
HEAD တောင်းဆိုချက်များသည် GET တောင်းဆိုမှုတစ်ခု အမှန်တကယ်မပြုလုပ်မီ GET တောင်းဆိုချက်တစ်ခုအား စစ်ဆေးရန်အတွက် အသုံးဝင်သည် - ဖိုင်ကြီးတစ်ခု သို့မဟုတ် တုံ့ပြန်မှုကိုယ်ထည်ကို ဒေါင်းလုဒ်မလုပ်မီကဲ့သို့ပင် GET တောင်းဆိုချက်တစ်ခုအား စစ်ဆေးရန်အတွက် အသုံးဝင်ပါသည်။
DELETE နည်းလမ်း
DELETE နည်းလမ်းသည် သတ်မှတ်ထားသော အရင်းအမြစ်ကို ဖျက်သည်။
ရွေးချယ်မှုနည်းလမ်း
OPTIONS နည်းလမ်းသည် ပစ်မှတ်အရင်းအမြစ်အတွက် ဆက်သွယ်ရေးရွေးချယ်စရာများကို ဖော်ပြသည်။
GET နှင့် POST နှိုင်းယှဉ်
အောက်ပါဇယားသည် HTTP နည်းလမ်းနှစ်ခုကို နှိုင်းယှဉ်သည်- GET နှင့် POST။
GET | POST | |
---|---|---|
BACK button/Reload | Harmless | Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted) |
Bookmarked | Can be bookmarked | Cannot be bookmarked |
Cached | Can be cached | Not cached |
Encoding type | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data |
History | Parameters remain in browser history | Parameters are not saved in browser history |
Restrictions on data length | Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) | No restrictions |
Restrictions on data type | Only ASCII characters allowed | No restrictions. Binary data is also allowed |
Security | GET is less secure compared to POST because data sent is part of the URL Never use GET when sending passwords or other sensitive information! |
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs |
Visibility | Data is visible to everyone in the URL | Data is not displayed in the URL |