Table of Contents
HTTP Protokoll
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.
Rövid történet
- HTTP/0.9 – Az első, egyszerű verzió, ami csak egyetlen GET kérést támogatott (HTML fájlok letöltése).
- HTTP/1.0 (1996) – Ezzel a verzióval bevezetésre kerültek a fejlécek (headers), amik lehetővé tették a média típusok kezelését és a státuszkódokat.
- HTTP/1.1 (1997) – Jelentős frissítés, amely támogatta a tartalom átvitel kódolását, a kapcsolat újrafelhasználását és több egyéb javítást.
- HTTP/2 (2015) – A protokoll teljesítményének növelése érdekében bevezetett változások, mint a szerver push, a fejléc tömörítés, és az adatfolyamok párhuzamos kezelése.
- HTTP/3 (2023) – Az újabb verzió, amely a QUIC protokollra épül, javítva az adatátvitel sebességét és megbízhatóságát.
A protokoll lényege
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.
HTTP kérés-válasz példa
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.
HTTP Kérés
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.
HTTP Válasz
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>
HTTP kérések
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.
GET
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.
POST
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" }
PUT
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" }
DELETE
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
Webes Sütik Szabályai
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.
Főbb Szabályok és Előírások
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:
- Tájékoztatás és beleegyezés: Az EU-s e-Privacy Irányelv és a GDPR előírja, hogy a weboldalaknak tájékoztatniuk kell a látogatókat a sütik használatáról, és kifejezett beleegyezést kell kérniük a nem szükséges sütik használatához.
- Adatvédelmi tájékoztató: A weboldalaknak részletes adatvédelmi tájékoztatót kell biztosítaniuk, amely magyarázatot ad arra, hogy milyen típusú sütiket használnak, milyen adatokat gyűjtenek, hogyan használják ezeket az adatokat, és hogyan lehet a sütiket kezelni vagy letiltani.
- Sütik kezelése: A felhasználóknak lehetőséget kell biztosítani arra, hogy beállíthassák, mely sütiket engedélyezik, és bármikor módosíthassák a beállításaikat.
- Biztonság: A sütik használatakor biztosítani kell az adatok biztonságát, különösen az olyan sütik esetében, amelyek érzékeny információkat tárolnak, mint például belépési adatok vagy személyes azonosítók.