A HyperText Transfer Protocol (HTTP) egy alkalmazásréteg protokoll az interneten, melyet weboldalak lekérdezésére és átvitelére használnak. A HTTP lehetővé teszi a hiperhivatkozások által összekapcsolt dokumentumok elérését a World Wide Web-en.
A HTTP protokoll állapotmentes protokoll, ami azt jelenti, hogy minden egyes kérés független, és nem tárol információt a korábbi kérésekről. A kommunikáció egy kliens (általában webböngésző) és egy szerver között zajlik, ahol a kliens kéréseket küld a szerverre (pl. weboldal lekérése), a szerver pedig válaszokat küld vissza (pl. HTML dokumentumok).
A kérések és válaszok fejlécekkel (headers) és üzenettörzzsel (body) rendelkeznek, amelyek információkat tartalmaznak az átvitelről, az adatok típusáról, és egyéb metaadatokról.
A HTTP biztonságos változata, a HTTPS (Hypertext Transfer Protocol Secure), titkosítást használ az adatok védelmére, ami kulcsfontosságú a bizalmas információk online kezelése során.
Egy tipikus HTTP tranzakció két fő részből áll: egy kérésből (request) a klienstől és egy válaszból (response) a szervertől.
A kérés tartalmazza a kérés metódusát (pl. GET, POST), az elérni kívánt erőforrás URI-ját (Uniform Resource Identifier), a HTTP verzióját, valamint különböző fejléceket, amik információt adnak a kérésről.
Például egy egyszerű GET kérés egy weboldal lekérésére:
HTTP/1.1 GET /index.html Host: www.pelda.hu
Ebben a példában a kliens a “www.pelda.hu” szerveren található “index.html” nevű erőforrást kéri a HTTP 1.1 protokoll használatával, és megadja a szerver host nevét.
A válasz tartalmazza a HTTP verziót, a státuszkódot és szöveget (pl. 200 OK), amely jelzi a kérés sikerességét, valamint fejléceket és esetlegesen egy üzenettörzset, amely magát az erőforrást (például egy HTML dokumentumot) tartalmazza.
Példa egy egyszerű HTTP válaszra: (a fejléc és az törzs elválasztása egy üres sor)
HTTP/1.1 200 OK Date: Mon, 23 May 2022 22:38:34 GMT Content-Type: text/html Content-Length: 85 <html> <head> <title>Példa Oldal</title> </head> <body> <h1>Üdvözlünk a Példa Oldalon!</h1> <p>Ez egy példa szöveg.</p> </body> </html>
A HTTP protokoll négy alapvető kérésmódot (más néven “metódust”) definiál, amelyek különböző típusú műveletek végrehajtására szolgálnak a kliens és a szerver között. Ezek: GET, POST, PUT, és DELETE.
A GET metódus egy erőforrás lekérésére használatos. Ez a leggyakrabban használt HTTP kérés, amely alkalmas arra, hogy információt kérjünk a szerverről.
A POST metódus új erőforrások létrehozására vagy adatok beküldésére használatos a szerveren. Gyakran használják űrlapok adatainak elküldésére szerverre. A POST kérések törzset (body) tartalmaznak, amely az elküldendő adatokat tartalmazza.
Példa:
POST /api/users HTTP/1.1 Host: www.pelda.hu Content-Type: application/json { "name": "Példa János", "email": "janos@pelda.hu" }
A PUT metódus egy meglévő erőforrás frissítésére vagy, ha az adott URI-n még nem létezik erőforrás, annak létrehozására használatos. A PUT kérések törzset tartalmaznak, amely a frissítendő vagy létrehozandó erőforrás teljes új tartalmát tartalmazza.
Példa:
PUT /api/users/123 HTTP/1.1 Host: www.pelda.hu Content-Type: application/json { "name": "Új Név", "email": "ujnev@pelda.hu" }
A DELETE metódus egy meglévő erőforrás eltávolítására használatos a szerverről. A DELETE kérések általában nem tartalmaznak törzset, és az erőforrás az URI alapján azonosított.
Példa:
DELETE /api/users/123 HTTP/1.1 Host: www.pelda.hu
A webes sütik kisméretű adatok, amelyeket a weboldalak helyeznek el a felhasználók számítógépén vagy mobil eszközén, amikor azokat meglátogatják. Céljuk, hogy emlékezzenek a felhasználó preferenciáira, segítsék a felhasználói munkamenetek kezelését, és gyűjtsenek adatokat a weboldal használatával kapcsolatban.
A sütik használatára vonatkozó szabályok országonként és régióként eltérőek lehetnek, de számos általános irányelv és jó gyakorlat létezik, amelyeket a weboldalaknak be kell tartaniuk, különösen az Európai Unióban: