Útmutatók
HTTP- és válaszkódok
Hogyan működik a HTTP, mit jelentenek a státuszkódok, hol találod őket, és hogyan keresd meg egy hiba okát.
Ha működteted a webhelyet, hasznos érteni a HTTP- és válaszkódokat. A HTTP (HyperText Transfer Protocol) az a protokoll, amelyen a böngésző és a webhely adatot cserél. A válaszkódok azt mondják meg, sikerült-e a kérés, hiba történt-e, vagy további lépés kell.
Ez a fejezet haladó hibakereséshez ad segítséget. Az itt leírt lépések nem tartoznak a WooCommerce támogatási körébe, ezért ha segítség kell, forduljon képzett WordPress- és WooCommerce-fejlesztőhöz.
A kérés és a válasz menete
A HTTP kliens-szerver modellben működik:
- Kapcsolat létrehozása. Amikor beírsz egy címet a böngészőbe, vagy rákattintasz egy hivatkozásra, a böngésző megbízható (TCP) kapcsolatot létesít a címet kiszolgáló szerverrel.
- Kérés elküldése. A böngésző HTTP-kérést küld, amelyben ott van a metódus (például GET adatlekéréshez, POST adatküldéshez), az erőforrás útvonala (például egy oldal vagy kép) és a fejlécek (böngészőtípus, támogatott tartalomformátumok, azonosítók).
- Feldolgozás. A szerver feldolgozza a kérést: adatot kér le, háttérrendszerekkel dolgozik, vagy kódot futtat a dinamikus tartalomhoz.
- Válasz. A szerver HTTP-választ küld: státuszkódot (például 200 a sikerhez, 404 a nem található oldalhoz), a tartalmat (például HTML) és válaszfejléceket (tartalomtípus, gyorsítótárazás).
- A kapcsolat lezárása. A kapcsolat a fejlécektől függően bezárul, vagy nyitva marad további kérésekhez.
Egy kérés például így nézhet ki, ha megnyitod egy webhely kezdőlapját:
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml
Accept-Language: hu-HU,hu;q=0.9
Accept-Encoding: gzip, deflate
Connection: keep-alive
GET: a metódus, amely adatot kér az erőforrástól./: az erőforrás útvonala (itt a gyökérkönyvtár).HTTP/1.1: a protokoll verziója.Host: a szerver domainneve.User-Agent: a kérést küldő böngésző adatai.Accept: a kliens által feldolgozható tartalomtípusok.Accept-Language: a kliens nyelvi preferenciája.Accept-Encoding: a kliens által elfogadott tömörítések.Connection: azt jelzi, hogy a kapcsolat nyitva marad-e.
A szerver válasza például:
HTTP/1.1 200 OK
Date: Mon, 23 Oct 2023 14:22:18 GMT
Server: Apache/2.4.1 (Unix)
Last-Modified: Wed, 20 Oct 2023 07:28:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 3423
Accept-Ranges: bytes
Connection: close
Ezután jön a lap HTML-tartalma. A fejléc sorai:
HTTP/1.1 200 OK: az állapotsor, benne a protokoll verziója, a kód (200) és a szöveges megfelelője (OK): a kérés sikerült.Date: a válasz küldésének időpontja.Server: a használt szerverszoftver.Last-Modified: az erőforrás utolsó módosításának ideje.Content-Type: a válasz tartalmának típusa.Content-Length: a tartalom hossza bájtban.Accept-Ranges: azt jelzi, hogy a szerver elfogad részleges lekéréseket.Connection: azt jelzi, hogy a kapcsolat a kérés után bezárul.
HTTPS
A HTTPS a HTTP biztonságos változata: titkosítja a böngésző és a webhely közötti adatforgalmat. SSL-tanúsítványt használ, amely biztosítja, hogy az adatok titkosak maradnak, és hogy valóban a kívánt webhellyel kommunikálsz. Ez megvédi az érzékeny adatokat a lehallgatástól.
A státuszkódok csoportjai
A kód első számjegye az öt csoport egyikébe sorolja:
| Csoport | Jelentés |
|---|---|
| 1xx (tájékoztató) | A szerver megkapta a kérést, és ideiglenes válasszal folytatja a feldolgozást. |
| 2xx (sikeres) | A szerver megkapta, értelmezte és elfogadta a kérést. |
| 3xx (átirányítás) | A kérés teljesítéséhez további lépés kell, például átirányítás másik címre. |
| 4xx (kliens hiba) | A kérés hibás, vagy nem teljesíthető, például 404, ha a kért oldal nem érhető el. |
| 5xx (szerver hiba) | A szerver oldalán van a gond, és nem tudja teljesíteni a jó kérést, például 500 belső szerverhiba. |
A leggyakoribb kódok:
| Kód | Jelentés |
|---|---|
| 100 Continue | A szerver megkapta a kérés első részét, és várja a többit. |
| 101 Switching protocols | A kérés protokollváltást kért, és a szerver beleegyezett. |
| 200 OK | A kérés sikerült. |
| 201 Created | A szerver teljesítette a kérést, és új erőforrást hozott létre. |
| 301 Moved permanently | A kért erőforrás címe végleg megváltozott, a válasz az új címet adja. |
| 302 Found | Ideiglenes átirányítás: a következő alkalommal is az eredeti címet használd. |
| 400 Bad request | A szerver kliens oldali hiba miatt nem tudja feldolgozni a kérést. |
| 401 Unauthorized | A szükséges azonosítás hiányzik, vagy érvénytelen. |
| 403 Forbidden | A szerver értette a kérést, de megtagadja a teljesítését. |
| 404 Not found | A szerver nem találja a kért erőforrást. |
| 405 Method not allowed | A kérésben megadott metódus nem engedélyezett az erőforráshoz. |
| 408 Request timeout | A szerver időtúllépés miatt nem kapta meg a kérést. |
| 429 Too many requests | A felhasználó túl sok kérést küldött adott idő alatt. |
| 500 Internal server error | A szerver váratlan helyzetbe ütközött. |
| 501 Not implemented | A szerver nem támogatja a kérés teljesítéséhez szükséges funkciót. |
| 502 Bad gateway | A szerver érvénytelen választ kapott a felsőbb szervertől. |
| 503 Service unavailable | A szerver átmenetileg nem tudja kiszolgálni a kérést, például túlterhelés vagy karbantartás miatt. |
| 504 Gateway timeout | A szerver nem kapott időben választ a felsőbb szervertől. |
Hol találod a hibakódot?
- A böngészőben. A legtöbb böngésző a hibakódot közvetlenül az ablakban mutatja, például „404 Not Found” vagy „500 Internal Server Error”.
- A fejlesztői eszközökben. A böngésző fejlesztői eszközeinek hálózat (Network) lapján minden kérés és válasz részletei látszanak, a státuszkóddal együtt. Chrome-ban, Firefoxban és Edge-ben kattints a jobb gombbal az oldalra, válaszd az „Inspect” vagy „Elemvizsgálat” parancsot, majd nyisd meg a „Network” fület. Töltsd újra az oldalt, keresd meg a hibás kérést, és kattints rá a részletekért.
- A szerver naplóiban. Főleg az 5xx hibáknál hasznosak, amelyek a böngészőben nem mindig látszanak. Apache vagy Nginx szervereken a naplók gyakran a
/var/log/apache2vagy a/var/log/nginxmappában vannak. Felügyelt tárhelyeken a tárhely vezérlőpultján át érheted el őket. Ha segítség kell, kérdezd a tárhelyszolgáltatót. - E-mailes értesítésekben és monitorozó eszközökben. Weboldal-figyelő szolgáltatások e-mailben vagy SMS-ben értesítenek, ha az oldal hibakódot ad vissza.
A hiba okának keresése
Ha azonosítottad a hibát, ezeket a lépéseket követheted:
- Nézd meg a hibakódot. Döntsd el, hogy kliens oldali (4xx) vagy szerver oldali (5xx) a gond. Ez megmutatja, merre keress.
- Gondold végig a legutóbbi változtatásokat. Ha nemrég frissítetted az oldalt, vagy módosítottad a szerver beállításait, nézd át ezeket. Néha a korábbi beállítás visszaállítása megoldja a hibát.
- Nézd meg a szerver naplóit. Részletes hibaüzeneteket és támpontokat találhatsz, főleg 5xx hibáknál.
- Fordulj a tárhelyszolgáltatódhoz. Ha a hiba nem szűnik meg, és nem tudod megoldani, a tárhely olyan szerver- és hálózati problémákra is rálát, amelyek számodra nem látszanak.
- Állíts be figyelést. A monitorozó eszközök azonnal jeleznek, ha HTTP-hiba lép fel, így gyorsan reagálhatsz, mielőtt a vásárlók érzékelnék.