Hogyan működik a böngésző http kérés

Egy korábbi cikkben megvizsgáltuk a rendszer közötti adatcsere a böngésző és a szerver segítségével HTTP és a lekérdezések. Most vessünk egy közelebbi pillantást magad HTTP kérés.

Felépítése a HTTP kérés

Minden HTTP-üzenet három részből áll, amelyet továbbítanak a felsorolás sorrendjében:

  1. A lekérdezési karakterlánc - A kérés módszer (HTTP-módszer), URI, protokoll verzióját;
  2. fejlécek - jellemzi a szervezet az üzenet átviteli paramétereket és egyéb információk;
  3. törzsében - az üzenet adatait.

Fejlécek és az üzenet szövegét is hiányzik, de a kezdő sort elengedhetetlen. Például a query string így néz ki:

Nézzük meg részletesebben a lekérdezési módszerek.

HTTP módszerek

Módszer jelzi, hogy melyik művelet elvégezhető egy erőforrás egy rövid angol szó nagybetűvel írott. A módszer neve kis- és nagybetűket. A HTTP 1.1 specifikáció által meghatározott, a következő módszerekkel: OPCIÓK, GET, HEAD, POST, PUT, tapasz, DELETE, nyom, LINK, UNLINK. Annak érdekében, hogy ne terhelje túl az agy redundáns információ, úgy a leggyakrabban használt.

A szokásos GET kéréseket, még mindig feltételes és részleges.

feltételes GET

Feltételes GET kérés (feltételes GET) célja, hogy csökkentse a felesleges hálózati forgalmat, és lehetővé teszi, hogy frissítse a gyorsítótárban tárgyak nélkül adatátvitel már birtokában az ügyfél. Feltételes GET tartalmazza a fejlécében bizonyos feltételekkel és a kapott adatokat a szerverre, csak akkor, ha a válasz megfelel a kért feltételeket. HTTP 1.1 specifikáció határozza meg a feltételeket: If-Modified-Since Ha-Match, If-None-Match, If-tartomány. A leggyakrabban használt ma If-Modified-Since, amely megadja a dátumot és az utolsó módosítás a tárgy. A következő hívás ez a forrás, a böngésző ellenőrizni az érték ezt a címet, ha nem változik, a tárgy kerül sor a kliens cache.

részleges GET

Részleges GET kérelmet (részleges GET) célja, hogy csökkentse a felesleges hálózati forgalmat. Ez lehetővé teszi, hogy összegyűjti az objektum részeinek átvitele nélkül már rendelkezésre álló adatok a kliens oldalon, és ezért kéri az átadása csak egy része az objektum. Használt Range fejlécet.

POST módszerrel

POST célja, hogy adatokat a szerverre. A szervezet az ilyen kérelem jellemzően adatait tartalmazza. Szerver válasz üzenet, hogy végre a POST módszer nincs a gyorsítótárban. Ez a módszer a második alkalmazása a népszerűsége, többnyire ezt használják a webes űrlapok, hogy néhány adatot a felhasználó az erőforrás (nevezési lapok, regisztráció, üzenetküldés, stb.)

HTTP kérések osztható biztonságos (ha a felhasználó egyszerűen kéri az adatokat, és nem befolyásolja a működését a szerver), és a nem biztonságos (ha a felhasználó elküldi a kiszolgáló specifikus adatokat, és potenciálisan befolyásolhatja a művelet).

URI és protokoll verzióját

URI - karaktersor (string), amely azonosítja egy absztrakt vagy fizikai erőforrások.

Protocol version arra használható, hogy melyik változat a protokoll képes kliens / szerver munka és úgy néz ki, mint a HTTP / [verzió]. Most, a legtöbb támogató 1.1-es verziója.

HTTP-fejlécek

Minden egyes kérelem legalább egy fejlécet, amely megmondja a szerver konfigurációs információkat és adatokat a formátumokhoz hogy el tudja fogadni. Cím bemutatott szöveges formában. Például:

Egy ilyen fejléc tömege egyenlő 956b.

Minden válasz három részből áll: status bar (három területen: a HTTP verzió, állapot kód és a leírás), a válasz header (tájékoztatás a szerver és a továbbított adatokat), és az adatok is. Az első két rész mutatjuk formájában is a szöveget, és úgy néz ki, mint ez:

Csak az első két rész súlyos esetekben is nyomhat 0,5 kilobájt.

Ez mind annak érdekében, hogy a kiegészítő egyetlen pixel gif a weboldal, súlya csak 43 byte vezethet több mint 130 megabájt forgalmat csak 100.000 látogató. Ez a másik ok, amiért jobb számának csökkentése az egyéni kéréseket a szerver.

Súly továbbított adatok nem befolyásolja a méret a fejléc.

Telepítése a HTTP-fejlécek

Kap e fejlécek csak a kiszolgáló beállításait, és / vagy szerveroldali szkriptek.

HTTP fejléc test

Amíg megtaláltam az információt erről a kérés részeként, amely hasznos lett volna HTML coder, így ez a cikk nem fogja figyelembe venni azt.