Rozdiel medzi metódou GET a POST v HTML
Obsah
GET a POST sú dve účinné techniky, ktoré môžu údaje na serveri a prehliadači nevyhnutne potrebovať na komunikáciu so serverom. Tieto dve metódy sa líšia, keď metóda GET pridá kódované údaje do URI, zatiaľ čo v prípade metódy POST sa údaje pripoja k telu, a nie k URI. Okrem toho sa na získavanie údajov používa metóda GET. Naopak, metóda POST sa používa na ukladanie alebo aktualizáciu údajov.
formulár značka sa používa na vyjadrenie obsahu formulára; toto je tiež známe ako kontrola formy, Tieto formuláre sa vyplnia, pokiaľ ide o údaje, a potom sa odošlú na vzdialené spracovanie na ďalšie spracovanie. Fungovanie formulára zahŕňa dve zásadné veci: prvou je špecifikácia adresy programu, ktorý spracováva obsah formulára pomocou ACTION, Neskôr je špecifikácia metódy, v rámci ktorej tok dát pomocou formulára prebieha SPÔSOB atribút.
Atribút ACTION popisuje, ako sa má zaobchádzať s formulárom HTML. Atribút METHOD riadi proces predkladania údajov. Metóda GET a POST spadá pod atribút METHOD.
-
- Porovnávacia tabuľka
- definícia
- Kľúčové rozdiely
- príklad
- záver
Porovnávacia tabuľka
Základ pre porovnanie | GET | POST |
---|---|---|
Parametre sú umiestnené vo vnútri | URI | telo |
účel | Získavanie dokumentov | Aktualizácia údajov |
Výsledky dotazov | Môže byť označený záložkou. | Nedá sa uložiť medzi záložky. |
zabezpečenia | Zraniteľný, ako je prítomný v obyčajnej podobe | Bezpečnejšie ako metóda GET |
Obmedzenia typu údajov formulára | Povolené sú iba znaky ASCII. | Nie sú povolené žiadne obmedzenia ani binárne údaje. |
Dĺžka dát formulára | Mali by byť čo najmenšie. | Môže ležať v akomkoľvek rozsahu. |
viditeľnosť | Vidí ktokoľvek. | Nezobrazuje premenné v adrese URL. |
Variabilná veľkosť | Až 2000 znakov. | Až 8 Mb |
caching | Údaje o metódach možno ukladať do vyrovnávacej pamäte. | Neukladá údaje do vyrovnávacej pamäte. |
Definícia metódy GET
GET metóda sa používa na vyžiadanie adresy URL z webového servera na načítanie dokumentov HTML. Pre prehliadače je to bežná metóda na doručovanie informácií, ktoré sa počítajú ako súčasť protokolu HTTP. Metóda GET predstavovaná vo forme adresy URL, aby mohla byť označená záložkou. GET je široko používaný vo vyhľadávačoch. Po zadaní dotazu užívateľom do vyhľadávacieho nástroja motor vykoná dotaz a poskytne výslednú stránku. Výsledky dotazu je možné nastaviť ako odkaz (označený záložkou).
Metóda GET umožňuje generovanie kotiev, ktoré pomáhajú pri prístupe k programu CGI s dotazom, ktorý neobsahuje použitie formulára. Dotaz je skonštruovaný do prepojenia, takže keď je odkaz navštívený, program CGI načíta vhodné informácie z databázy.
Metóda GET má určité bezpečnostné problémy, pretože vložené údaje sú viditeľné v adrese URL. Metódou GET je možné preniesť iba obmedzené množstvo údajov, pretože dĺžka adresy URL, ktorú môže prehliadač prejsť, môže byť tisíc znakov.
Ďalšou otázkou týkajúcou sa metódy GET je to, že sa nemôže zaoberať cudzími jazykmi. Neodporúča sa používať metódu GET, ale stále, aj keď nie sú definované atribúty metódy, sa ako predvolená metóda použije metóda GET.
Definícia metódy POST
POST metóda je vhodná v stave, v ktorom môže prejsť značné množstvo informácií. Keď server dostane žiadosť prostredníctvom formulára, ktorý používa POST, pokračuje v „počúvaní“ ľavých informácií. Jednoducho povedané, metóda prevedie všetky relevantné informácie o vstupe formulára okamžite po podaní žiadosti na adresu URL.
POST metóda musí nadviazať dva kontakty s webovým serverom, zatiaľ čo GET ich iba vytvorí. Požiadavky v POST sa spravujú rovnakým spôsobom, ako sa spravujú v metóde GET, kde sú medzery zastúpené v znamienku plus (+) a zvyšné znaky sú zakódované vo vzore adresy URL. To môže tiež položky súboru.
- GET metóda umiestni parametre do URI, zatiaľ čo POST metóda pridá parametre do tela.
- GET sa v podstate používa na získavanie informácií. Naopak, účelom metódy POST je aktualizácia údajov.
- Výsledky dotazov POST nie je možné uložiť medzi záložky, zatiaľ čo výsledky dotazov GET sa dajú označiť záložkami, pretože existujú vo forme adresy URL.
- Pri metóde GET sú informácie viditeľné v adrese URL, čo zvyšuje zraniteľnosť a riziko hackerstva. Na rozdiel od toho metóda POST neukazuje premennú v adrese URL a možno v nej použiť aj techniky kódovania, ktoré ju robia odolnou.
- Ak sa vo formulári použije metóda GET, akceptujú sa v typoch údajov iba znaky ASCII. Naopak, metóda POST neviaže typy údajov formulárov a povoľuje binárne aj ASCII znaky.
- Premenlivá veľkosť v metóde GET je približne 2000 znakov. Naopak metóda POST umožňuje premenlivú veľkosť až 8 Mb.
- Dáta metódy GET sú ukladateľné do pamäte cache, zatiaľ čo údaje metódy POST nie sú.
Príklad GET
Keď používateľ zadá akúkoľvek adresu URL do panela s umiestnením v prehliadači, napr http // www.example.com / xyz / file1.htm, Adresa sa potom skonvertuje na platnú požiadavku HTTP GET, napríklad, GET / xyz / file1.htm HTTP / 1.0.
Táto požiadavka sa potom prenesie na server www.example.com, Žiadosť požaduje file1.htm v xyzadresára a či sa pripája k dialektu 1.0 HTTP. Tu používateľ nedostane súbor sám po odoslaní súboru, v skutočnosti je na pozadí spustený program na spracovanie údajov formulára.
Užívateľ požaduje, aby na jeho vykonanie odovzdali údaje formulára s názvom programu. Na dosiahnutie tohto vykonania sa informácia o formulári pripojí k požadovanej adrese URL. Generuje webovú adresu so stovkami znakov spolu so skutočnými údajmi, napríklad, http://www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female.
Príklad POST
Dáta odoslané prostredníctvom formulára sa môžu javiť ako Name = AI + Alena & Age = 23 & Gender = female, Program spracováva údaje rozdelením údajov. Údaje formulára môžu byť kódované odlišne pomocou enctype v metóde POST.
Obsah formulára nie je zvyčajne viditeľný v URL a jeho hlavnou výhodou je, že značné množstvo údajov bolo možné odoslať pomocou metódy POST.
záver
Na odosielanie údajov na server sa používajú metódy GET a POST a hlavný rozdiel medzi nimi je v tom, že metóda GET pripája údaje k URI definovanému v atribúte akcie formulára. Naopak, metóda POST pripája údaje k požadovanému orgánu. Použitie metódy GET je nevhodné, ak je potrebné vyplniť citlivé informácie vo formulári. POST metóda je užitočná, keď používateľ požaduje vyplnenie hesiel alebo iných dôverných informácií.