Formos žyma naudojama formos turiniui išreikšti; tai taip pat žinoma kaip formos kontrolė . Šios formos yra užpildytos apie duomenis, kurie vėliau siunčiami į nuotolinį įrenginį tolesniam apdorojimui. Formos veikimas apima du esminius dalykus: buvęs yra programos, kuri tvarko formos turinį su ACTION, adresų specifikacija. Vėliau yra aprašoma metodo specifikacija, pagal kurią formos duomenys perduodami naudojant METHOD atributą.
ACTION atributas apibūdina, kaip tvarkyti HTML formą. METHOD atributas tvarko duomenų pateikimo procesą. GET ir POST metodas yra atributas METHOD.
Palyginimo diagrama
Palyginimo pagrindas | GET | POST |
---|---|---|
Parametrai patalpinami viduje | URI | kūnas |
Tikslas | Dokumentų paieška | Duomenų atnaujinimas |
Užklausos rezultatai | Gali būti pažymėtos žymomis. | Negalima pažymėti žymių. |
Saugumas | Pažeidžiamas, kaip ir paprastame tekste | Saugesnis nei GET metodas |
Formos duomenų tipo apribojimai | Leidžiama naudoti tik ASCII simbolius. | Nėra jokių apribojimų, net ir dvejetainiai duomenys. |
Formos duomenų ilgis | Turėtų būti kuo mažesnis. | Gali būti bet kokio diapazono. |
Matomumas | Gali matyti visi. | Nerodo URL rodiklių. |
Kintamas dydis | Iki 2000 simbolių. | Iki 8 Mb |
Caching | Metodų duomenys gali būti saugomi talpykloje. | Nėra talpyklos duomenų. |
GET metodo apibrėžimas
GET metodas naudojamas norint URL iš žiniatinklio serverio gauti HTML dokumentus. Tai yra įprastas būdas naršyklėms pateikti informaciją, kuri skaičiuojama kaip HTTP protokolo dalis. GET metodas pateikiamas URL formatu, kad jis būtų pažymėtas. GET yra plačiai naudojamas paieškos sistemose. Po to, kai vartotojas pateikė užklausą paieškos sistemai, variklis įvykdo užklausą ir pateikia gautą puslapį. Užklausos rezultatai gali būti nustatyti kaip nuoroda (pažymėta žyme).
GET metodas leidžia generuoti inkarus, kurie padeda prieigai prie CGI programos su užklausa, kurioje nėra formos naudojimo. Užklausa yra sukonstruota į nuorodą, todėl, kai aplankoma nuoroda, CGI programa iš duomenų bazės surinks reikiamą informaciją.
GET metodas turi tam tikrų saugumo problemų, nes įterpti duomenys matomi URL. GET metodu galima perduoti tik ribotą duomenų kiekį, nes naršyklės judėjimo URL ilgis gali būti tūkstančio simbolių.
Kitas klausimas, susijęs su GET metodu, yra tai, kad jis negali būti susijęs su užsienio kalbomis. GET metodas nerekomenduojamas naudoti, tačiau vis tiek, kai nėra apibrėžti metodo atributai, kaip numatytasis yra naudojamas GET metodas.
POST metodo apibrėžimas
POST metodas tinka tokioje būklėje, kurioje gali praeiti daug informacijos. Kai serveris gauna užklausą formą, kurioje naudojama POST, ji ir toliau „klauso“ kairiosios informacijos. Paprastais žodžiais tariant, metodas perduoda visą atitinkamą formų įvesties informaciją iškart po to, kai pateikiamas prašymas URL.
POST metodas turi sukurti du kontaktus su žiniatinklio serveriu, o GET tiesiog sukuria vieną. POST užklausos tvarkomos taip, kaip ji valdoma GET metodu, kur tarpai pateikiami pliuso (+) ženklu, o poilsio simboliai koduojami URL modelyje. Jis taip pat gali siųsti failo elementus.
Pagrindiniai skirtumai tarp GET ir POST metodo HTML
- GET metodas pateikia parametrus URI viduje, o POST metodas prideda parametrus į kūną.
- GET yra iš esmės naudojamas gauti informaciją. POST metodo tikslas yra atnaujinti duomenis.
- POST užklausos rezultatai negali būti žymimi žymėmis, o GET užklausos rezultatai gali būti pažymėti žymėmis, nes jie yra URL.
- GET metode informacija yra matoma URL, kuris padidina pažeidžiamumą ir įsilaužimo riziką. Priešingai, POST metodas nerodo kintamo URL ir jame taip pat gali būti naudojami keli kodavimo metodai, todėl jis yra atsparus.
- Kai formoje naudojamas GET metodas, duomenų tipuose priimami tik ASCII simboliai. Priešingai, POST metodas nesieja formos duomenų tipų ir leidžia dvejetainius bei ASCII simbolius.
- Kintamas dydis GET metodu yra maždaug 2000 simbolių. Priešingai, POST metodas leidžia keisti iki 8 Mb kintamojo dydžio.
- GET metodo duomenys yra saugomi, o POST metodo duomenys nėra.
GET pavyzdys
Kai naudotojas įveda bet kurį URL į naršyklės vietos juostą, pvz., Http // www.example.com / xyz / file1.htm . Tada adresas paverčiamas galiojančiu HTTP GET prašymu, pavyzdžiui, GET / xyz / file1.htm HTTP / 1.0 .
Tada šis prašymas perkeliamas į serverį www.example.com . Prašyme xyz kataloge prašoma failo1.htm ir ar jis prisijungia prie HTTP HTTP tarmės. Čia vartotojas, gavęs failą, pats negauna failo, faktiškai programa veikia fone, kad tvarkytų formos duomenis.
Vartotojas reikalauja perduoti formos duomenis su programos pavadinimu jo vykdymui. Norint pasiekti šį įvykį, informacija apie formą pridedama prie prašomo URL. Jis generuoja URL, turintį šimto simbolių, kartu su faktiniais duomenimis, pvz., Http://www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female .
POST pavyzdys
Duomenys, siunčiami forma, gali būti panašūs į Vardas = AI + Alena ir amžius = 23 & Lytis = moteris . Programa tvarko duomenis skaidydama duomenis. Formos duomenys gali būti koduojami skirtingai, naudojant ENCTYPE atributą POST metode.
Formos turinys paprastai nerodomas URL, o jo pagrindinis privalumas yra tai, kad didelį duomenų kiekį galima pateikti naudojant POST metodą.
Išvada
GET ir POST metodas naudojamas duomenims siųsti į serverį, o pagrindinis skirtumas tarp jų yra tas, kad GET metodas prideda duomenis prie URI, apibrėžto formos veiksmo atribute. Priešingai, POST metodas prideda duomenis prašomajai įstaigai. GET metodo naudojimas yra netinkamas, kai slapta informacija turi būti užpildyta. POST metodas yra naudingas, kai vartotojas reikalauja užpildyti slaptažodžius ar kitą konfidencialią informaciją.