az internet ablakok Android

Hozzászólás és igények egyszerű szavakkal. A kérés utáni böngésző küldése: Módszer Post Változó hozzászólás PHP-ben Példák

Ebben a leckében az űrlapok és oldalak közötti adatátvitelt kapjuk. Ezek a módszerek postai és kap. Különösen és részletesebben beszélünk egymásra. Általánosságban elmondható, hogy a formák közötti kommunikációra van szükség. Például kitöltjük néhány mezőt az oldalon, és át kell adnunk őket egy másik oldalra a feldolgozáshoz.

Szerezd meg a módszert a PHP-ben

Kezdjük, elemezzük a szerkesztési módszert. Ez az, amikor minden változó és értékeik közvetlenül a címen keresztül továbbíthatók. Most látni fogsz mindent a példában, sőt megérteni, hogy a legtöbb webhely és fórum működik.
Például van egy ilyen típusú HTML oldalunk:

Az oldal egy példa a változógépek átvitelére link

Lásd a linket? Bonyolult és több részből áll. Csodálkozzunk mindent a polcokon:
https: // webhely - A domain címe, vagy ahogy azt is hívják, fogadó.
index.php. - PHP oldal, amely feldolgozza a kérést.
? - az elválasztó szimbólum a cím és a blokk közötti változók között.
Ezenkívül a változók és azok értékei, amelyeket a szimbólum elválasztanak. & .
nAME \u003d Sergey - Név Változó és Sergey értéke.
kor \u003d 22. - Ugyanaz, változó életkor, 22 érték.

Minden szétszerelt, most nézzük meg, hogyan feldolgozzák a PHP-ben, a Get módszer segítségével.
Oldal index.php, ahogy emlékszel, átmentünk neki:

Kezdetben, tanácsok: Mindig ellenőrizze a helyes változókat: az érvénytelenítés, az érvényes értékek betartásához és így tovább. Mivel mindent a címsoron keresztül továbbítanak, az adatok könnyen cserélhetők és megsérthetők a webhelyen. Most a kódex szerint: Mi, segítséggel ellenőriztük, ellenőriztük a név és az életkor változóit az ürességre, és ha nem üresek, akkor kihozta őket, és ha üres, akkor egyszerűen jelentették.
Minden egyszerű, egyetért? Például létrehozhat egy HTML oldalt, és hivatkozásokat változókat index.php hogy index.php és megjeleníti ezt vagy azt oldalt függően a kapott értéket. Nos, később fogunk beszélni, a cikkben egy weboldal létrehozásáról a PHP-ről a semmiből. Hiányozni semmit, azt tanácsolom, hogy feliratkozzon az RSS-re.

PHP PHP módszer

A módszer munkájának bemutatása érdekében szükségünk lesz egy kicsit több, mint egy egyszerű vonal a címmel :) Szükség lesz egy HTML oldal létrehozására egy töltőformával, de semmi, adok egy kész példát az Ön számára :

Az oldal egy példa a változógépek átadására

Töltse ki a mezőket az információk átviteléhez:

Adja meg a nevét:

Adja meg életkorát:

Tehát létrehoztunk egy HTML oldalt egyszerű formában. Ne feledje, hogy a post módszer csak az űrlapon használható.
Az első formanyomtatvány paraméter "Módszer", meghatározza az átvitelhez használt módszert. Ahogy azt kitalálnád, ez akár kap, vagy post. Ebben az esetben, ha van telepítve, akkor a mezők összes neve (változó nevek formájában), valamint azok értékei referenciaként kerülnek továbbításra, mint a Get módszerről szóló szakaszban. Ha be van állítva, akkor a változók és értékek összes nevét böngésző kérésként továbbítják egy webszerverre. Vagyis nem lesz látható a címsorban. Sok esetben ez nagyon hasznos. Emellett a posta biztonságosabb, az is világos, mert az értékükkel rendelkező változók már nem olyan egyszerűek, bár lehetséges is lehetséges.

Az űrlap második paramétere "Akció". Ez a parancsfájl elérési útja és neve, amelyre adatokat továbbítunk. A mi esetünkben ez index.php. Ez az út továbbadható és teljesen, azaz: cselekvés \u003d "https://my_site.ru/index.php". Ha nem adja meg a "Akció" paraméter értékét, akkor az összes információt továbbítják a fő szkripthez, azaz a webhely index.php index oldala, amely meglehetősen logikus.

Most kapunk adatokat az űrlapunkról. Miután átmentünk az index.php-ben, ez azt jelenti, hogy a kód az oldal kódja lesz:

"; Echo" név - ", echo $ _post [" user_name "]; echo"
Életkor - ", echo $ _post [" életkor "]; echo" évek ";) más (echo" változók nem értek el. Ellenőrizze az összes időt. ";)?

Ne felejtsd el ellenőrizni az ürességet és megengedett értékeket. Ezután tisztázni kell, hogy miért hívják a változókat a user_name és az életkornak? És megnézed a fentebb létrehozott alakmezőket. Látni oda bemenetnév \u003d "user_name" típus \u003d "szöveg" ? Itt van a névparaméter, és beállítja az e mezővel ellátott változó nevét. Azonos az életkorral. Remélem, hogy világos. Nos, a változó és az értékek postai küldeményének megszerzése szinte nem különbözik attól a kaptától, amelyet fentebbeztünk.

Nos, a lecke nagy volt, de az egyik leghasznosabb, mert az űrlapok és oldalak közötti változók átruházása pontosan az interaktivitás, amelyre PHP-t használunk.

Észrevetted, hogy a címek a legtöbb webhelyre tekinthetők:

Http: //syt/index.php? Blog \u003d 2

Itt nem is tudják PHP-t, azt hiszem, hogy felkérjük a fájlt index.php. De mi megy a kérdés kérdése után, kevés ember tudja. Minden meglehetősen egyszerű: ? blog \u003d 2 Ez a "$ _get [" blog "globális változó bejelentése" 2 "értékkel. Így változtatom egy változót a szkripthez, amely felelős az adatbázisból származó kimenetért. Írjunk egy kis szkriptet, amelyben csak látni fogja:

ha (BETSET ($ _ get ["blog"])) (
echo $ _get ["blog"];
}
?>

Az IF () állapotkezelő () kezelési operátort () alkalmazzuk, amely ezt a vonalat értékeli:

Konzol ($ _ get ["blog]))

isset () Lehetővé teszi, hogy megtudja, ha van olyan változó, amely szerepel zárójelben, hogy ez a feltétel, hogy leírtam a kód a következőképpen hangzik: ha van egy változó $ _GET [ „blog”], akkor kiírja a tartalmát e változó a képernyőn. Ez történt:

Azt hiszem, a globális változó egyértelműen létrejön. $ _Get. az azonosítóval, amelyet a címsorban bejelentettünk ( ebben az esetben a "blog" azonosítóval)

Most egy pillanatra szeretnék tisztázni. Tegyük fel, hogy két változót kell kijelentnünk, hogyan kell csinálni? Az első változó a kérdés kérdése után kerül kimutatásra "?" A második változó az ilyen jel után "és" ( Hogy őszinte legyek, nem tudom, milyen jel ) Itt van egy példa bejelentése három változó:

Http: //syt/index.php? A \u003d 1 & B \u003d 2 & c \u003d 3

Itt van a kimeneti kód:

ha (BETSET ($ _ get ["A"]) és a kibocsátás ($ _ get ["B"]) és a BETSET ($ _ get ["c"])) (
Echo $ _get ["A"]. "
";
Echo $ _get ["b"]. "
";
Echo $ _get ["c"]. "
";
}
?>

Az állapot így hangzik:

Ha van egy globális változó $ _get ["A"], és a globális változó $ _get ["B"] és a globális változó $ _get ["c"] majd kimense őket a képernyőn, Itt van az eredmény:

Formák

Mielőtt elmegyünk post. Kéri, hogy szétszerelje, milyen formában van? Miért kell neked? Mivel a $ _post ["] globális változó az űrlapokon keresztül jön létre. Mi az űrlap? Ezek a mezők megadhatók a felhasználó számára. A mezők egy sorban vannak, nagy mezőkön vannak, vannak rádiógombok, jelölőnégyzetek. Mindent elemezni fogunk ...

Az űrlap egy címke:


Az űrlap elemei

Az űrlap rendelkezik attribútumokkal, felsorolja a leggyakoribbakat:

Hozzunk létre egy űrlapot:


Az űrlap elemei

A fájlt kezelőfájlként állítottam be teszt.php. Mivel benne van, hogy példákat írok neked. A poszt-módszert, mivel ezek az eljárások az esetek 99,9% -ában használhatók. Én is hozzárendeltem az űrlap nevét

Most lépjen be az űrlap elemeinek világába. Először is meg kell értened, hogy szinte minden elem címke Csak az attribútumban való különbség típus Ezek a címkék. Hagyja felsorolni a használt űrlapokat:

Biztos vagyok benne, hogy nem találkoztál ilyen területeken, így itt azt mondja: "Nincs hozzászólás"

Most készítsünk egy kis képzési kérdőívet, amellyel tovább fogunk dolgozni. Feladatunk az, hogy egy kis formát, amely megmondja nekünk a kitöltés nevét, a padlót, az országból, a kedvenc színe és a szöveg mezője, ahol a felhasználó hozzáadhat valamit magáról. Ez az, amit tettem:

Az utolsó név neve Patronmic:

Nemed:
M.
J.

Melyik országból jöttél



Kedvenc szín (A):

A fekete:
Piros:
Fehér:
Egyéb:

Magamról:




Kérjük, vegye figyelembe, hogy szinte minden címke rendelkezik attribútummal ÉrtékMi ő? Megjegyzi azokat az adatokat, amelyeket egy másik oldalra továbbít. Remélem, hogy világos

Most, ha ezt a kódot a böngészőben futtatja, a következőket látjuk:

Formában egy attribútumot használtam akció. jelentéssel teszt.php. Ez azt jelenti, hogy már azt mondtam, hogy az űrlap adatai a teszt.php fájlba kerülnek.

Postafior

Most írjon PHP kódot, amely lehetővé teszi számunkra, hogy megtekinthesse a megadott információkat. Hol tárolja az adatokat? A Get kérés esetén az adatok a $ _get globális változóban fekszenek]. Post kéréssel az adatok a $ _post ["] globális változójában fekszenek. A szögletes zárójelben fel kell írni, mint a Get globális változó, az azonosító. A kérdés az, ahol ez az azonosító vesz? Ezért szükséges a név attribútuma az űrlap elemeken! Ezek a nevek szolgálnak minket a billentyűvel a Post Global Array-ben. Nos, indítsa el a szkript leírását:

ha (BETSET ($ _ POST ["SURCENT"])) (
Echo "Teljes név:" $ _ Post ["Fio"]. "
";
Echo "Nem:" $ _ Post ["szex"]. "
";
Echo "lakóhelye:" $ _ Post ["City"]. "
";

Echo "kedvenc színe (A):
";
Echo $ _post ["Color_1"]. "
";
Echo $ _post ["Color_2"]. "
";
Echo $ _post ["Color_3"]. "
";
Echo $ _post ["Color_4"]. "
";
Echo "rólam:" $ _ post ["körülbelül"]. "


";
}
?>

Az írott állapotú, ha van írva: Ha van egy globális változó $ _post ["Submit"], akkor jelenítse meg az adatokat a képernyőn. Ez a globális változó létrehozásra kerül, ha rákattintunk a Küldés gombra, amelyre a példa a név attribútuma szükséges. Nagyon kíváncsi lehet, hogy miért nincs szükség a gomb attribútumának neve? Minden nagyon egyszerű. Általában a programozó nem követi nyomon a gomb megnyomásával, és nyomon követi az elküldött adatokat. A helyes működés például az űrlapot, akkor kell lenyomozni a gomb megnyomása nélkül, de a helyességét a bemeneti adatok, és megtanulják, hogy ez az információ vezették egyáltalán. Példánkban nem ellenőriztük az elküldött adatokat, és egyszerűen utazott, hogy nyomja meg a gombot, hogy egyszerűsítse a példát ... Ez az, amit tettünk:

Következtetés

Nos, a mai napig kétféle adatátvitelt szétszereltünk a szkriptek és a Gallopam között, akik ismerik az űrlapokat. Nagyon remélem, hogy ez az információ legalább valahol hasznos. Ha bármilyen kérdése vagy gondolata, megjegyzések írása. Sok szerencsét, ma van minden!

P.S.: Szeretné, ha a számítógépes játékok még reálisabbak lettek? DirectX 11 Windows 7 esetén ingyenes letölthető a Windows rendszeren! Élvezze a csodálatos grafikát!

Ez a hozzászólás az a kérdésre adott válasz, amely az egyik cikkemre vonatkozó megjegyzésekben szerepel.

A cikkben azt szeretném megmondani, hogy a HTTP módszerek megkapják / post / tedd / Törlés és mások, amelyekre feltalálták őket, és hogyan kell használni őket a többieknek megfelelően.

Http.

Tehát mi az egyik fő internetes protokoll? A pedánsok az RFC2616-ra küldenek, és a többiek emberi úton fognak mondani :)

Ez a protokoll leírja a két számítógép (ügyfél és szerver) közötti kölcsönhatást, amelyet az üzenetek adatbázisára építettek, a kérés neveznek) és válasz (válasz). Minden üzenet három részből áll: kiindulási vonal, címsorok és test. Ebben az esetben csak a kiindulási vonal kötelező.

A kérés és válasz kezdővonalai eltérő formátumúak - csak a lekérdezés kiindulási vonala, amely így néz ki:

Módszer URI Http / Változat. ,

Ahol a módszer csak a HTTP lekérdezési módszer, az URI az erőforrás-azonosító, a verzió a protokoll verziója (jelenleg frissített 1.1 verzió).

A fejlécek egy pár pár név, a vastagbél által elválasztva. A fejlécekben különböző szolgáltatási információkat továbbítanak: az üzenetkódolás, a böngésző neve és változata, amelyből az ügyfél jött (referrer) és így tovább.

Az üzenetszervezet valójában a továbbított adatok. Válaszolva továbbított adatok, szabályként a kért HTML oldal, és a lekérdezésben például az Üzenet szervben a szerverre letöltött fájlok tartalma kerül továbbításra. De általában a lekérdezésben lévő üzenetszervezet általában hiányzik.

A HTTP kölcsönhatás példája

Fontolja meg a példát.

Vizsgálat:
Get /index.php http / 1.1 Host: example.com Felhasználói ügynök: Mozilla / 5.0 (x11, u; Linux i686; ru; RV: 1.9b5) Gecko / 2008050509 Firefox / 3.0b5 Elfogadás: Szöveg / HTML Kapcsolat: Bezárás
Az első sor a lekérdezési karakterlánc, a többiek címsorok; Nincs testüzenet

Válasz:
Http / 1.0 200 ok szerver: nginx / 0.6.31 tartalomnyelv: RU tartalom típus: szöveg / html; Charset \u003d UTF-8 tartalomhossz: 1234 Csatlakozás: Bezárás ... HTML Page ...

Erőforrások és módszerek

Menjünk vissza a kérés kezdővonalához, és ne feledje, hogy egy ilyen paramétert URI-ként mutat be. Ez egységes erőforrás-azonosítónak dekódolódik - egy egységes erőforrás-azonosító. Az erőforrás általában a szerverre vonatkozó fájl (példa az URI-re ebben az esetben "/styles.css"), de egyáltalán lehetnek bármilyen absztrakt objektum ("/ blogok / webdev /" - jelzi a blokkolja a "webfejlesztést", nem egy adott fájlban).

A HTTP lekérdezés típusa (más néven a HTTP módszer) azt mutatja, hogy a szerver az a tény, hogy szeretnénk, hogy készítsen egy erőforrás. Kezdetben (a 90-es évek elején) feltételezték, hogy az ügyfél csak azt akarja, hogy az erőforrásból származhasson -, hogy megkapja, de most, a HTTP protokoll segítségével létrehozhat bejegyzéseket, profil szerkesztése, üzenetek törlése, és még sok más. És ezeket az intézkedéseket nehéz kombinálni az "átvétel" kifejezést.

A HTTP-módszer szintjén lévő erőforrásokkal való cselekvés elhelyezése, és a következő lehetőségek kerültek feltöltésre:

  • Szerezd meg az erőforrást
  • Post - Erőforrás létrehozása
  • Tegye - erőforrás-frissítés
  • Törlés - erőforrás törlése
Figyeljen arra, hogy a HTTP-specifikáció nem kötelezi a kiszolgálót arra, hogy megértse az összes módszert (ami valójában sokkal több, mint 4) - csak a kapu szükséges, és nem jelzi, hogy a kiszolgálónak meg kell tennie, hogy kérjen egy vagy másik módszer. És ez azt jelenti, hogy a szerver válaszul a Törlés / index.php kérés http / 1.1 nem köteles Törölje az index.php oldalt a kiszolgálón, valamint a /index.php http / 1.1 kéréshez nem köteles Tegye vissza az index.php oldalt, akkor törölheti, például :)

A pihenés belép a játékba

Nyugdíj (reprezentációs állam átruházás) 2000-ben vezették be a Roem Fielding (Roy Fielding) - a HTTP protokoll egyik fejlesztőjét - mint a weboldal építési elvének nevét. Általánosságban elmondható, hogy a többi szélesebb területet foglal magában, mint a HTTP - más hálózatokban más protokollokkal is alkalmazható. A pihenés leírja az ügyfél interakciójának és kiszolgálójának elveit, az "erőforrás" és az "ige" fogalmai alapján (mindkettőnek megfelelően megértheti őket). HTTP esetén az erőforrást URI határozza meg, és az ige http módszer.

A pihenés azt javasolja, hogy megtagadják ugyanazt az URI-t különböző erőforrásokra (vagyis két különböző cikk címe, mint például a /index.php?Article_ID\u003d10 és /index.php?Article_Id\u003d20 nem a többi), és használjon különböző módon HTTP-módszerek különböző műveletekhez. Ez azt jelenti, hogy a többi megközelítést használó webes alkalmazás törli az erőforrást, amikor eléri azt a HTTP-módszerrel (természetesen ez nem jelenti azt, hogy lehetőséget kell adni arra, hogy mindent és mindent el kell távolítani, de bármi A kérelemben szereplő törlési kérelemnek a HTTP-DELETE módszert kell használnia).

A pihenés lehetővé teszi a programozók számára, hogy képesek legyenek szabványosított és kissé szépebb webes alkalmazások írására, mint korábban. A többi, URI használata új felhasználó hozzáadásához nem lesz /user.php?action\u003dcreate (Get / Post módszer), és egyszerűen /user.php (szigorú postalap).

Ennek eredményeképpen együttesen a meglévő specifikáció http és a többi megközelítés végül megszerzi a különböző HTTP-módszerek jelentését. Get - Visszaadja az erőforrást, a hozzászólás - új, feltünteti a meglévő, törlés - törléseit.

Problémák?

Igen, van egy kis probléma a többi gyakorlatban a gyakorlatban. Ezt a problémát HTML-nek nevezik.

A kéréseket az XMLHTTPRECREST-en keresztül küldheti el, a kézi kiszolgálóra való hivatkozással (Say, Curl vagy akár Telnet segítségével), de nem hozhat létre olyan HTML-űrlapot, amely teljes körű elszámolási / törlési kérelmet küld.

A tény az, hogy a HTML specifikáció nem teszi lehetővé az űrlapok létrehozását másképp küldése, mint a via vagy a posta. Ezért a szokásos működés más módszerekkel mesterségesen kell utánozni őket. Például a rackben (olyan mechanizmus, amely alapján Ruby kölcsönhatásba lép a webszerverrel; rack, sínek, Merb és más rubin keretek készülnek) formában hozzáadhat egy "_thod" nevű rejtett mezőt, és a Érték Adja meg a módszer nevét (például a "Tedd") - Ebben az esetben a kérés után kerül elküldésre, de a rack képes lesz úgy tenni, mintha megtörténne, és nem post.

Ez a bejegyzés célja, hogy megmagyarázza az adatátvitel elveit az interneten két fő módszer segítségével: Get és Post. Kiegészítőnek írtam a változtatható munkavégzés generátorának utasításának kiegészítését azok számára, akik alig érdekesek a részletekért ☺.

Menj a következő címre (ez egy vizuális magyarázat): http://calendarin.net/calendar.php?year\u003d2016 Felhívjuk figyelmét a címsorba a böngésző: calendarin.net/calendar.php ? Év \u003d 2016 A fő fájlt nevezik, majd kérdőjel (?) És az "Év" paraméter a "2016" értékkel. Tehát minden, ami követi a kérdőjelet, ez egy get-kérés. Minden egyszerű. Ha nem egy paramétert továbbít, de néhány, akkor meg kell osztani az Ampersand (és). Példa: calendarin.net/calendar.php. ? Év \u003d 2016 és Display \u003d Munka napok és napok

A fő fájlt is nevezik, majd kérdőjel (?), Majd az "Év" paramétert a "2016" értékkel, majd az ampersand (&), majd a "Munkai napok - és -Ddays "paraméter -off.

A Get-paraméterek közvetlenül a böngésző címsorában változhatnak. Például a "2016" érték "2017" értékének megváltoztatása és a kulcs megnyomása, a 2017-es naptárba megy.

Ez az adatátvitel rejtett módon (az oldal címe nem változik); Vagyis, hogy megnézzük, hogy mit küldött, csak a program (szkript) használhatja. Például az alábbi eszköz kiszámítására karakterek a szöveg, a kezdeti adatokat továbbítják a POST módszer: http://usefulonlinetools.com/free/character-counter.php

Ha kérdései vannak, megjegyzések és e-mailem az Ön szolgálatában van.

A Get módszer mellett, amelyet az előző megjegyzésben áttekintettünk, van egy másik módja annak lekérdezése a HTTP protokollon - a post módszer. A post módszert is nagyon gyakran használják a gyakorlatban.

Ha a GET módszerre való hivatkozáshoz elegendő számunkra, hogy írja be a kérelmet az URL-re, akkor minden más elvben dolgozik egy másik elvben.

Az ilyen típusú kérés végrehajtásához kattintson a gombra a Weboldalon található típus \u003d "Submit Attribútum" gombra. Kérjük, vegye figyelembe, hogy ez a gomb az elemben található. A módszer attribútumával a hozzászólás értékével.

Tekintsük ezt a HTML kódot:

Adja meg a szöveget:


Ha a felhasználó szöveges mezőbe lép a szövegmezőbe, és kattint a "Küldés" gombra, akkor a szövegváltozót elküldjük a szervernek a felhasználó által megadott tartalom tartalmával.

Hozzászólás és kéréseket egyszerű szavakkal

Ezt a változót a post módszer küldi.

Ha írásban írja:

Ezeket az adatokat a GET módszer küldi.

Ha a Get kérés esetén az átadható adatok mennyisége a böngészőhossz hosszára korlátozódik, akkor a posta kérés esetén nincs ilyen korlátozás, és jelentős mennyiségű információt továbbíthatunk.

Egy másik különbség a POST módszert GET, POST módszerrel elrejti az összes továbbított változók őket, és értéküket a testében (Entity-Body). A szerkezeti módszer esetében a lekérdezési karakterláncban (kérés-uri) tárolták őket.

Itt van egy példa a postafiók kérésére:

Post / http / 1.0 \\ r \\ n
Host: www.site.ru \\ r \\ n
Referencia: http://www.site.ru/index.html\\r\\n.
Cookie: jövedelem \u003d 1 \\ r \\ n
Tartalomtípus: Alkalmazás / X-www-form-urlencoded \\ r \\ n
Tartalomhossz: 35 \\ r \\ n
\\ r \\ n
LOGIN \u003d DIMA & PASSWORD \u003d 12345

Így az adatok átadása a post módszerrel, sokkal nehezebb lesz a támadó elfogása, mert Ezek a közvetlen megtekintésből el vannak rejtve, így az adatok továbbításának módját a post módszerrel biztonságosabbnak kell tekinteni.

Ezenkívül a post módszert nem csak szöveget, hanem multimédiás adatokat is továbbíthatunk (képek, audio, video). Van egy speciális tartalom típusú paraméter, amely meghatározza a továbbítandó információk típusát.

Végül, hogy megkapja az ilyen módszer által továbbított adatokat, a post változó használható.

Itt van egy példa a feldolgozásra a PHP-ben:

echo $ _post ['szöveg]];
?>

Az utolsó hang, úgy döntöttünk, hogy a böngésző (kliens) kérést küld a HTTP szerver és a szerver küld egy HTTP választ a HTTP kliens. Ezeket a kérelmeket és válaszokat bizonyos szabályok szerint adják ki. Van valami hasonló szintaxis, mivel a szekvenciát írásban kell írni. Szigorúan meg kell határozni kell.

Tekintsük ezt a struktúrát részletesebben, amely a HTTP protokollban kéréseket és válaszokat épít.

A HTTP kérés három fő részből áll, amelyek az alábbiakban felsorolt \u200b\u200bsorrendben kerülnek be. Van egy üres vonal az üzenet fejlécei és teste (szeparátorként) között, ez egy karakterláncfordító szimbólum.

Üres string (szeparátor)

Post és kérjen kéréseket, mi a különbség közöttük és mi jobb és milyen célokra?

Üzenet test (entitás test) - Opcionális paraméter

Sorkérés - Jelzi az átviteli módot, az URL-címet, amelyhez a HTTP protokoll verziót kell elérni.

Főcímek - Ismertesse az üzenetet, küldje el a különböző paramétereket és egyéb információkat és információkat.

üzéri - Ez a kérelemben továbbított adatok. Az üzenetcsoport opcionális paraméter, és nem hiányozhat.

Amikor megkaptunk egy választ a szerverről, az üzenetcsoport leggyakrabban a weboldal tartalma. De amikor lekérdezéseket a szerverre, akkor is néha jelen lehetnek, például amikor mi közvetíti az adatokat, hogy tele volt a visszajelzés formája a szerverre.

További részletek, minden lekérdezési elem, megnézzük a következő jegyzeteket.

Tekintsünk például egy igazi kérést a szerverre. Megjelentem a lekérdezés minden részét a színem szerint: egy lekérdezési vonal - zöld, címsorok - narancssárga, a test üzenet kék.

A böngésző kérése:

Host: Webgyry.info.

Cookie: WP-beállítások

Csatlakozás: tartás-él

A következő példa már rendelkezik üzenetekkel.

Szerver válasz:

Tartalom típus: szöveg / html; Charset \u003d UTF-8

Átviteli kódolás: Chunked

Csatlakozás: tartás-él

Keep-Alive: Timeout \u003d 5

X-pingback: //webgyry.info/xmlrpc.php

Dokumentum Untitled

Íme az ügyfél üzenetei és a HTTP-kiszolgáló.

By the way, szeretné tudni, hogy van-e értelme a webhelyén a Yandex Metrics és a Google Analytics "céljai" használatával?

Távolítsa el, hogy mit nem működik, add hozzá, mi működik és duplázza meg a bevételét.

A Jandex metrikák céljainak beállítása.

A Google Analytics Célok telepítési tanfolyam ..

A HTTP-ügyfél kérést küld a kiszolgálónak egy kérés-kérelem formájában, amely a következő formátumú:

  • Lekérdezési sor (kötelező elem)
  • Cím (opcionális elem)
  • Üres string (kötelező elem)
  • Üzenet test (opcionális elem)

Tekintsük mindegyik elemet külön-külön.

Sorkérés

A lekérdezési karakterlánc egy módszerrel kezdődik, amely után az URI lekérdezés és a protokoll verzió követi. Elemek szétszóródnak egymásból:

Tekintsük ezt az elemet részletesebben

Kérés módszer

Ez az elem olyan eljárást jelez, amelyet a kiszolgáló oldalára kell hívni a megadott URI-átvilágításhoz.

A httpban nyolc módszer létezik:

  • Fej.
    Az állapotsor és a fejléc az URI-kiszolgálóból kapható. Nem változtatja meg az adatokat.
  • Kap.
    Az adatok fogadására szolgál a kiszolgálón a megadott URI-re. Nem változtatja meg az adatokat.
  • Post.
    Adatok küldése a szerverre (például a fejlesztőre vonatkozó információk stb.) HTML formák segítségével.
  • Tedd.
    Az összes korábbi adat az erőforrás új letöltött adatait helyettesíti.
  • Töröl.
    Eltávolítja az összes aktuális adatot az URI által meghatározott erőforrásról.
  • Csatlakozás.
    Beállítja az alagút csatlakozását a kiszolgálóhoz a megadott URI szerint.
  • Opciók.
    Leírja a megadott erőforrás csatlakozási tulajdonságait.
  • Nyom
    Üzenetet ad, amely tartalmazza az URI-ben megadott erőforrás visszatérési nyomát.

URI kérés

Az URI (egységes erőforrás-azonosító) olyan erőforrás-azonosító, amelyhez a lekérdezést elküldi. Az alábbiakban a leggyakoribb URI formátum:

‘*’ Használt HTTP kérés nem vonatkozik egy adott erőforrásra, hanem a kiszolgálóra. Csak abban az esetben, ha a módszer nem szükséges az erőforrásra. Például,

absoluteuri. Ha egy HTTP-kérést proxyon végzik. A proxy felkérést kap arra, hogy egy lekérdezést továbbítson egy megfizethető gyorsítótárból, és visszaadja a választ. Például:

Asbutivated_put | egy forrása legtöbb chatso-t használják.

Tanulás, hogy dolgozzon a Get és a Post kérésekkel

Egy adott kiszolgáló specifikus erőforrását kérik. Például az ügyfél a 80. porton keresztül szeretne erőforrást kapni a szerverről. A "www.proselyte.net" erőforrás címe és a következő kérés elküldése:

Kérjen fejléc mezőket

A fejléc mezők lehetővé teszik az ügyfél számára, hogy további információkat adjon a kérelemről és magukról a kiszolgálóra. Ezek a mezők lekérdezőként szolgálnak.

Az alábbiakban a legfontosabb fejlécek metszéspontja:

  • Elfogadás-charset.
  • Elfogadás-kódolás
  • Elfogadás-nyelv.
  • Engedélyezés
  • Elvár
  • Ha-egyezés.
  • Ha módosított - óta
  • Ha-nincs-egyezés
  • IF-tartomány.
  • Ha-nem módosított - óta
  • Hatótávolság.
  • Hivatkozó.
  • Felhasználói ügynök

Ha úgy döntünk, hogy végrehajtja saját ügyfelét és saját webszerverét, akkor létrehozhatjuk saját fejléc mezőket.

A HTTP kérés példája

Ezen befejezzük a HTTP-kérések tanulását.
A következő cikkben meg fogjuk nézni a HTTP válaszokat.

A kérés elküldésének egyik módja a HTTP-n keresztül a kiszolgálón keresztül a GET módszer kérése. Ez a módszer a leggyakoribb és a szerver kérései leggyakrabban a használatával történik.

A lekérdezés létrehozásának legegyszerűbb módja az URL beírásához a böngésző címsávába írható.

A böngésző a kiszolgálót a következő információkért küldi:

Kap / http / 1.1
Host: Webgyry.info.
Felhasználói ügynök: Mozilla / 5.0 (Windows NT 6.1, RV: 18.0) GECKO / 20100101 Firefox / 18.0
Elfogadás: Szöveg / HTML, ALKALMAZÁS / XHTML + XML, ALKALMAZÁS / XML, Q \u003d 0,9, * / *; q \u003d 0,8
Elfogadás-nyelv: ru-en, ru; q \u003d 0,8, en-us; q \u003d 0,5, en; q \u003d 0,3
Elfogadás-kódolás: GZIP, Deflate
Cookie: WP-beállítások
Csatlakozás: tartás-él

A kérelem két részből áll:

1. Kérési sor (kérési sor)

2. fejlécek (üzenetfejlécek)

Felhívjuk figyelmét, hogy a lekérdezésnek nincs üzenete. De ez nem jelenti azt, hogy vele nem tudunk semmilyen információt átadni a kiszolgálónak.

Különbség a kapu és a post módszerek között

Ez a speciális szerver paraméterek segítségével történhet.

Ahhoz, hogy hozzáadjon paramétereket kérjen, meg kell adnia egy jelet "?" Az URL-cím végén És utána elkezdeni az alábbi szabályokat:

paraméter_name1 \u003d Value paraméterek1 & paraméter neve2 \u003d Value paraméterek2 és ...

A paraméterek közötti elválasztó a "&" jel.

Például, ha két értéket akarunk átadni, a felhasználónév és kora, ez a következő sor:

http://site.ru/page.php?name\u003ddima&age\u003d27

Ha ez a lekérdezés végrehajtásakor az adatok esnek az úgynevezett QUERY_STRING környezeti változót, amelyből lehet beszerezni a szerver segítségével a webes programozás szerver.

Itt van egy példa, amint azt a PHP-en lehet elvégezni.

Echo "Az Ön neve:". $ _Get ["Név"]. "
»;
Echo "Az Ön kora:". $ _Get ["Age"]. "
»;
?>

A $ _get design ["Paraméter neve"] lehetővé teszi, hogy megjelenítse a továbbított paraméter értékét.

A kód végrehajtásának eredményeképpen megjelenik a böngészőben:

Az Ön neve: Dima
Az Ön kora: 27

végezzük el a Get Serverhez.

Közös közöttük, az a tény, hogy egyenlően dolgoznak. A különbség közöttük technikailag nem. De van ideológiai különbségek.

A PHP keretében elmondom őket. Felhívjuk figyelmét, hogy a HTTP protokoll PHP közvetett hozzáállás, mert jött létre, hogy csere HTML oldalak és a PHP csak kibontja a lehetőségeket, és a többi.

A lekérdezést az adatok küldéséhez használják. (Emlékeztetem, hogy technikailag ugyanúgy működik).

Ezért a PHP keretében az e-címre támaszkodva a következőképpen történt:
1. Minden alkalommal, amikor a PHP elindul, a Superglobal tömbök ($ _get, $ _post) alapértelmezés szerint jönnek létre.
2. Ha kérdésjel van a lekérdezési karakterláncban (?). Aztán mindent tekintenek utána paraméterek Kéréseket kapnak, amelyeket a "Key" formátumban mutatnak be \u003d "érték", és egy leválasztóként használnak egy ampersand jel (&)
Példa:
Get /index.php?name\u003dAndrey&surname\u003dhalkin
Ez egy lekérdezési karakterlánc, itt 2 paraméter. Ezek a paraméterek esnek a $ _get tömbbe.
3. $ _post tele van egy másik módon. A tömb tartalma kitölti a "kérés fejléceket". Vagyis a szemtől elrejtett helyről kifejezetten. Az egész rutin az ilyen címsorok létrehozásához egy böngészőt vesz igénybe. Bár néha valami kézikönyvben szerkesztik a címsorokat.

Leggyakrabban a postai kérelmet az űrlapok (adatok küldése) használják.

Például van egy űrlapunk, hogy bejelentkezzen 2 mezőbe Bejelentkezés és jelszó.

Képzeld el, hogy a GET módszert használjuk. Majd ha küld egy űrlapot, mi pedig a következő címre /Login.php?Login\u003dandrey&password\u003d123 Elfogadom, hogy ez nem biztos, hogy az ilyen információkat. Bárki megnyithatja a böngészőt, és elindíthatja a webhely címét. Láthatja a jelszavát és bejelentkezését.

De ha a post módszerrel megadjuk, akkor a következő kérést kapjuk:
Post /login.php (login \u003d andrey & password \u003d 123) A zárójelben elrejthető, és nem kerül mentésre a böngészőben.

Általában összefoglalva:
Szerezd meg egy bizonyos oldalt egy adott formában (válogatás, az aktuális oldal a blogban, a keresési karakterlánc stb.).
Post - a mandreladatok esetében, amelyek nem befolyásolják az oldal megjelenítését, ahogyan ezek az adatok csak a szkript végrehajtásának eredményét befolyásolják (loginok, jelszavak, hitelkártyaszámok, üzenetek stb.).

És még egy jó hír kombinálható, például
Post /index.php?page\u003dlogin (login \u003d andrey & password \u003d 123) Azt hiszem, már elég elmagyaráztam, hogy kiderül, és milyen paraméterek, amelyekre tömb esik.