Ez az anyag a "Bevezetés a vállalkozásfejlesztésbe" sorozat része. Korábbi cikkek:
Szia! Ma a HTTP és HTTPS protokollokról fogunk tanulni. Először azonban tisztázzunk egy pontot: az OSI-modell alkalmazási szintjén az adatok hálózaton keresztüli küldésére szolgáló protokollokról beszélünk. Talán emlékszik rá, hogy az egyik korábbi cikkben megismerhettük az OSI modellt. Ha nem emlékszik rá, itt van .

Mi az adatkommunikációs protokoll?
Ezt nevezzük megállapodás szerinti szabálykészletnek, amely lehetővé teszi a különböző szolgáltatások fejlesztői számára, hogy információkat küldjenek mások számára érthető formátumban. Például a Google Chrome segítségével információkat szerezhet a Facebookról és a Twitterről is, mert a fejlesztők a szabványos HTTP-protokoll segítségével küldik el azokat, amely lehetővé teszi a böngészője feldolgozását. Az egységes szabályok nagyon kényelmesek a szerverrészt fejlesztők számára: sok könyvtár van, amely képes az információkat konvertálni és a megfelelő protokoll segítségével elküldeni. A HTTP-t eredetileg HTML-oldalak küldésének protokolljaként tervezték. Sokáig így használták, de ma már a programozók gyakran használják karakterláncok és médiafájlok küldésére is. Általánosságban elmondható, hogy ez a protokoll általánosan elfogadott és sokoldalú, és nagyon könnyen használható. És most megvizsgáljuk, hogyan kell használni.A HTTP felépítése
Azonnal meg kell jegyeznünk, hogy a HTTP protokoll csak szövegből áll. A legjobban ennek a szövegnek a szerkezete érdekel bennünket. Minden üzenet három részből áll:- Kezdősor – Ez meghatároz néhány háztartási adatot.
- Fejlécek – Ezek az üzenet paramétereit írják le.
- Törzs – Ez az üzenet tartalma. A törzset üres sorral kell elválasztani a fejlécektől.
Így néz ki egy egyszerű HTTP-kérés:
GET / HTTP/1.1
Host: codegym.cc
User-Agent: firefox/5.0 (Linux; Debian 5.0.8; en-US; rv:1.8.1.7)
A startvonal a következőket jelzi:
- GET — A kérés metódusa
- / — A kérés elérési útja
- HTTP/1.1 – A protokoll verziója
- Gazdagép – Az a gazdagép, amelyhez a kérés címzett
- User-Agent – A kérést küldő ügyfél
https://cdn.codegym.cc/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.pngsend?name1=value1&name2=value2
ahol a codegym.cc a gazdagép, a /send a kérés elérési útja, és ? egy elválasztó, amely azt jelzi, hogy a lekérdezési paraméterek következnek. A végén a kulcs-érték párok ("kulcs=érték") vannak felsorolva, és jellel elválasztva. POST – Ez a módszer információkat tesz közzé a szerveren. A POST kérés különféle információkat küldhet: paramétereket "kulcs=érték" párok formájában, JSON-t, HTML-kódot vagy akár fájlokat. Minden információ az üzenet törzsében kerül elküldésre. Például:
POST /user/create/json HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 28
Host: codegym.cc
{
"Id": 12345,
"User": "John"
}
A kérés a codegym.cc/user/create/json címre kerül elküldésre, a protokoll verziója pedig HTTP/1.1. Az „Elfogadás” azt a válaszformátumot jelzi, amelyet az ügyfél vár. A "Content-Type" a kérésben elküldött üzenet törzsének formátumát jelzi. A "Tartalom hossza" a karakterek száma a törzsben. Egy HTTP-kérelem sok különböző fejlécet tartalmazhat. További információért tekintse meg a protokoll specifikációját .
HTTP válaszok
A kérés beérkezése után a szerver feldolgozza azt, és választ küld a kliensnek:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 98
<html>
<head>
<title>An Example Page</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
A válasz kezdősora tartalmazza a protokoll verzióját (HTTP/1.1), az állapotkódot (200) és az állapotleírást (OK). A fejlécek tartalmazzák a tartalom típusát és hosszát. A válasz törzse HTML-kódot tartalmaz, amelyet a böngésző HTML-oldalként jelenít meg.
Válasz állapotkódok
Az üzenet törzsét és fejléceit illetően minden világos, de az állapotkódokról szóljunk néhány szót. A válaszállapotkódok mindig három számjegyből állnak. A kód első számjegye a válasz kategóriáját jelzi:- 1xx — Tájékoztató. A kérés beérkezett. A szerver készen áll a folytatásra.
- 2xx – Sikeres. A kérést megkaptuk, megértették és feldolgoztuk.
- 3xx — Átirányítás. A kérelem feldolgozásához további műveleteket kell végrehajtani.
- 4xx — Ügyfélhiba. A kérés hibákat tartalmaz, vagy nem felel meg a protokollnak.
- 5xx — Szerverhiba. A kérés helyesen lett összeállítva, de a szerver nem tudta feldolgozni.
- 200 OK — A kérést megkaptuk és sikeresen feldolgoztuk.
- 201 Létrehozva — A kérést megkaptuk és sikeresen feldolgoztuk, ami új erőforrás vagy példány létrehozását eredményezte.
- 301 Véglegesen áthelyezve — A kért erőforrás véglegesen át lett helyezve. A későbbi kéréseket az új cím használatával kell benyújtani.
- 307 Ideiglenes átirányítás – Az erőforrás ideiglenesen át lett helyezve. Egyelőre automatikus továbbítással érhető el.
- 403 Tilos – A kérést megértették, de engedély szükséges.
- 404 Nem található – A szerver nem találta az erőforrást ezen a címen.
- 501 Nincs implementálva – A szerver nem támogatja a kérés megválaszolásához szükséges funkciókat.
- 505 HTTP-verzió nem támogatott — A szerver nem támogatja a HTTP protokoll megadott verzióját.
GO TO FULL VERSION