Mi az a get method adatátvitel. Akció attribútuma és módszere
Két fogalom van, amely szinte minden programban közös: a bemeneti adatok feldolgozása és az eredmények kiadása. Ezen az oldalon a CGI programok bevitelének kezelésére fogunk összpontosítani. Először is, honnan származik a bemenet, másodszor pedig, hogyan továbbítják a bemenetet a szerverhez. Hatékony CGI-programok írásához világosan meg kell értenie ezeket a dolgokat.
Egy kicsit a HTTP-ről
A szerver három típusú kérést fogad el: GET, POST és HEAD. A webszervernek küldött programkérelem így néz ki:
GET /index.html HTTP / 1.0
Az első rész, jelen esetben a GET a kérés metódusa, a második, az index.html a kért URL, a harmadik, a HTTP / 1.0 pedig a kliens által használt protokoll.
A két fő kérési módszer a GET és a POST. Ezek ugyanazok a módszerek, amelyek az űrlap létrehozásakor állnak rendelkezésre. A HEAD metódust ritkán használja a böngésző, mert csak a válaszfejlécet kéri, a válasz törzsét ebben az esetben nem küldi el. Például annak ellenőrzésére, hogy az oldal változott-e, a böngésző kérhet fejlécet, de ez nem generál teljes adatcserét.
GET módszer
Alapértelmezés szerint a kérés a GET metódust használja. A POST metódus csak akkor használatos, ha kifejezetten meg van adva az űrlapkérésben. Nagyon fontos, hogy egy CGI programozó megértse, hogy amikor egy GET-kérés érkezik, az űrlapadatokat az URL-lel együtt elküldik a szervernek. A CGI-t támogató webszerverek átmásolják ezeket az adatokat ide környezeti változó QUERY_STRING néven. Ezt követően a CGI program felelős az adatok beszerzéséért a környezeti változóból és azok feldolgozásáért.
A lekérdezési karakterláncot tartalmazó URL így néz ki:
Http://www.domen-name.com/login.pl?nick=maks&psw=parol
Jel? elválasztja a lekérdezési karakterláncot az erőforrás tényleges URL-jétől; A nick és a psw a szervernek átadott változók, a maks és a parol pedig ezek értékei.
POST módszer
A POST metódus akkor használatos, ha kifejezetten meg van adva az űrlap METHOD attribútumában. A GET metódussal ellentétben a POST nem az URL-ben, hanem a kérés törzsében helyezi el az adatokat. A POST-kérés nagyon hasonlít egy HTTP-válaszra. Az első sor egy szabványos HTTP-kérés, amely a POST metódust határozza meg. Tartalmazhatja a szükséges további fejléceket, amelyeket egy üres sor választ el a kérés törzsétől.
A POST metódus használatakor a kérés törzse szabványos bemenetként kerül átadásra a programnak.
A GET és a POST közötti választás
Nyilvánvaló, hogy az űrlapok fejlesztése során a CGI programozónak szembe kell néznie azzal a kérdéssel, hogy melyik módszert használja. A legtöbb esetben mindkét módszer működik, és mindkettő jól működik. Vannak azonban olyan helyzetek, amikor az egyik vagy másik módszer alkalmazása bizonyos előnyökkel jár.
Nézzünk meg néhány olyan helyzetet, amikor érdemes a GET vagy POST módszert előnyben részesíteni.
- Ha azt szeretné, hogy a programját hivatkozással hívják meg, a GET módszert kell előnyben részesíteni.
- Ha nem szeretné, hogy a programnak átadott argumentumok a szerver naplófájljába kerüljenek, használja a POST metódust. Például, ha egy űrlap felhasználónevet és jelszót igényel, valószínűleg nem szeretné, hogy a nevek és jelszavak a jelentésfájlba kerüljenek. Ezenkívül nem bölcs dolog a jelszót az URL részeként átadni.
- Ha az űrlapnak jelentős méretei vannak, például szövegdobozok vannak megjegyzésekkel és megjegyzésekkel, akkor a POST módszert kell használnia. Általánosságban elmondható, hogy ebben az esetben is használhatja a GET metódust, de akkor előfordulhat, hogy az URL méretkorlátozásai eltérőek operációs rendszerés böngészők (a környezeti változók mérete korlátozza). Egyszerűbb a POST módszer használata.
- Ha az űrlap fájlmezőt tartalmaz, használja a POST módszert. Ezenkívül ebben az esetben az ENCTYPE attribútum értékét többrészes / form-data értékre kell állítani.
GET módszerekés a POST to HTTP és a HTTPS a két legnépszerűbb módszer, amellyel a HTTP (Hypertext Transfer Protocol) protokollt használó adatátvitelt használnak az ügyfélről a szerverre. A GET és a POST egyaránt használható kérések küldésére és válaszok fogadására, de a kettő között jelentős különbség van.
A HTTP vagy HTTPS GET és POST kérései közötti különbség népszerű kérdés minden webprogramozási interjúban. Mivel a HTML független az olyan webszerver-technológiától, mint a Java, ASP vagy PHP, és a HTTP a fő protokoll az internetes térben, a GET és POST metódusok megértésének fontosságát nem lehet egyértelműen figyelmen kívül hagyni. Ebben a cikkben megvizsgáljuk, mi az a HTTP GET metódus, mi az a HTTP POST metódus, mikor kell egy adott kérést használni, és mi a különbség köztük. Elemezzük az egyes fogalmakat külön-külön.
Mi az a HTML?
A HTML a weboldalak létrehozásának nyelve. A hiperszöveg olyan hiperhivatkozásokra utal, amelyeket egy HTML-oldal tartalmazhat. A jelölőnyelv arra utal, hogy a címkék hogyan határozzák meg az oldal elrendezését és az oldalon lévő elemeket.
Az alábbiakban a HTML példa amely egy címsorral és egy bekezdésnyi szöveggel rendelkező alapvető weboldal meghatározására szolgál:
<Голова>
<Название>TechTerms.com название>
HEAD>
<Тело>
Ez egy példa egy HTML-beli bekezdésre. p>
Body>
Html>
Az első sor határozza meg a dokumentumban található tartalom típusát.,
és amelyek mind szerepelnek a fenti példában. Az oldal címe, a metaadatok és a horgonyfájl hivatkozásai a tényleges oldaltartalom a címkék között vannak elhelyezve .
A web sok változáson ment keresztül az elmúlt néhány évtizedben, de mindig is a HTML volt a weboldalak fejlesztésének elsődleges nyelve. Érdekes módon, míg a webhelyek fejlettebbek és interaktívabbak lettek, a HTML egyszerűbb lett. Ha összehasonlítja egy HTML5-oldal forrását egy hasonló, HTML 4.01-ben vagy XHTML 1.0-ban írt oldallal, kevesebb kód lesz a HTML5-oldalon. Ennek az az oka, hogy a modern HTML a lépcsőzetes stíluslapokra vagy a JavaScriptre támaszkodik az oldalon belüli szinte minden elem formázásához.
Sok dinamikus webhely menet közben hoz létre weboldalakat szerveroldali szkriptnyelvek, például PHP vagy ASP használatával. Azonban még a dinamikus oldalakat is HTML használatával kell formázni. Ezért a szkriptnyelvek gyakran HTML-kódot generálnak, amelyet elküldenek a webböngészőnek.
A Hypertext Transfer Protocol (HTTP) az ügyfelek és a szerverek közötti kommunikációra készült, és úgy működik, mint egy kérés-válasz protokoll.
A webböngésző lehet a kliens, a webhelyet tároló számítógépen lévő alkalmazás pedig a szerver.
A kliens (böngésző) HTTP kérést küld a szervernek, a szerver választ ad vissza, amely a kérés állapotára vonatkozó információkat tartalmaz, és tartalmazhatja a kért tartalmat is.
Két kérési módszer GET és POST
Két általánosan használt módszer az ügyfél és a szerver közötti kérés-válaszra:
GET - adatokat kér a megadott erőforrástól;
POST – Elküldi a feldolgozásra szánt adatokat a megadott erőforrásnak.
A GET és POST fordítása szó szerint beszerzést és utófeldolgozást jelent.
További információ a HTTP-ről
A HTTP az adatátvitelre használt protokoll az interneten. Az Internet Protocol csomag része, és meghatározza az adatok weboldalra történő átviteléhez használt parancsokat és szolgáltatásokat.
A HTTP a szerver-kliens modellt használja. A kliens lehet otthoni számítógép, laptop, ill mobil eszköz... A HTTP-szerver általában egy webtárhely szoftver webszerver, például Apache vagy IIS. Amikor egy felhasználó hozzáfér egy webhelyhez, a böngésző kérést küld a megfelelő webszervernek, és HTTP-állapotkóddal válaszol. Ha az URL érvényes és a kapcsolat biztosított, a szerver elküldi a weblapot és a kapcsolódó fájlokat a böngészőnek.
A gyakori HTTP-állapotkódok a következők:
200 - sikeres kérés (weboldal létezik);
301 - folyamatosan mozog (gyakran átirányít egy új URL-re);
401 - jogosulatlan kérés (engedélyezés szükséges);
500 — Belső hiba szerver (gyakran hívják rossz konfiguráció szerver).
POST és GET HTTP-ben
A HTTP határozza meg a GET és POST parancsokat, amelyek az űrlapok beküldésének feldolgozására szolgálnak a webhelyeken. A CONNECT parancs az SSL használatával titkosított biztonságos kapcsolat elősegítésére szolgál. A titkosított HTTP-kapcsolatok HTTPS-en keresztül zajlanak, amely a biztonságos adatátvitelre tervezett HTTP-bővítmény.
A „http: //” kezdetű URL-ek szabványos hipertext átviteli protokollokon keresztül érhetők el, és alapértelmezés szerint a 80-as portot használják. A „https: //” kezdetű URL-ek biztonságosan érhetők el HTTPS kapcsolatés gyakran használja a 443-as portot.
POST
A POST egy sorozat rendszerellenőrzések számítógépek és más elektronikus eszközök hajtják végre, amikor be vannak kapcsolva. A vizsgálati eredmények megjeleníthetők a képernyőn, megjeleníthetők villogó LED-ekkel, vagy egyszerűen rögzíthetők belsőleg. V számítógépes rendszerek a POST művelet a rendszerindítási sorrend elején kerül végrehajtásra. Ha minden teszt sikeres, az indítási folyamat többi része automatikusan folytatódik.
A Mac és a Windows operációs rendszerek a POST-t futtatják minden alkalommal, amikor a számítógép elindul vagy újraindul. Csekk beolvasása Hardverés biztosítja a processzor, a RAM és a tárolóeszközök megfelelő működését. Ha hiba történik a POST során, az indítási folyamat szünetelhet vagy teljesen leállhat, és a monitor megjeleníthet egy üzenetet, amely szerint a POST-hibák gyakran megjelennek a BIOS információs képernyőjén. Kiadhatók titkosítási kódként, például „08” vagy rendszerüzenetként, például „Rendszermemóriahiba eltoláskor”. Mac rendszeren a POST hibákat gyakran egyszerű grafikák jelölik, például egy törött mappa ikon, amely azt jelzi, hogy nem található rendszerindító eszköz.
Fizikai megnyilvánulások
Egyes esetekben előfordulhat, hogy a számítógép képernyője be sem kapcsol a POST hibák előtt. Ha ez megtörténik, a hibakódok villogó LED-ekkel ill hangjelzések... Például, Apple iMac három egymást követő hangot fog lejátszani, megáll öt másodpercre, majd ismétli a hangokat, ha rossz RAM-ot észlel az indítás során. A legtöbb PC sípoló hangot is ad, ha POST hibákat észlel, bár minden gyártó saját kódot használ.
A POST egy meglehetősen technikai kifejezés, amelyet csak az számítógépes technikusok rendszeresen. Ez azonban egy jó mozaikszó, mivel segít jobban megérteni a számítógépeken vagy más eszközökön megjelenő hibaüzeneteket elektronikus eszközök... Ha a számítógép POST-hiba miatt nem indul el, egy másik eszközzel keresheti meg a hiba jelentését és okát a gyártó webhelyéről. Ezután megteheti a megfelelő lépéseket - távolítsa el a memóriamodult vagy telepítse újra a videokártyát, majd indítsa újra a berendezést.
KAP
A POST a változók átadásának módszere is HTML űrlapok egyik weboldalról a másikra anélkül, hogy megjelennének a címsorban. Alternatív módszer a GET, amely értékeket ad az URL-hez. A HTTP POST kérések további adatokat biztosítanak a klienstől (böngészőtől) a szerverhez az üzenet szövegében. Ezzel szemben a GET kérések az összes szükséges adatot tartalmazzák az URL-ben. A HTML-ben lévő űrlapok bármilyen metódust használhatnak a method = POST vagy a method = GET (alapértelmezett) megadásával az elemen
Ha a felhasználó bármilyen szöveget beír a szövegmezőbe és rákattint a „Küldés” gombra, akkor a felhasználó által beírt tartalom értékével rendelkező szöveges változó elküldésre kerül a szerverre.
POST és GET kérések egyszerű kifejezésekkel
Ezt a változót a POST metódus küldi el.
Ha ilyen formában írod: