Egységes erőforrás-azonosító (URI) — definíció, típusok és példák
Ismerd meg az egységes erőforrás-azonosító (URI) definícióját, típusait és gyakorlati példáit (URL, FTP, mailto stb.) — áttekinthető magyarázat és példák.
A számítástechnikában az egységes erőforrás-azonosító valaminek az interneten való elnevezésére szolgál. Az URI-k hasonlítanak az URL-ekhez, mivel valaminek a nevét adják meg.
Szerkezet röviden
Az URI általános formája az RFC 3986 szerint a következő: scheme:hier-part[?query][#fragment]. Gyakori összetevők:
- scheme — a protokoll vagy azonosító típusa (például http, https, ftp, mailto, urn).
- authority — általában a gazdagép és opcionális port (például example.org vagy example.org:8080), ha a scheme ezt megköveteli.
- path — az erőforrás helye a szerveren belül (például /absolute/URI/with/absolute/path/to/resource.txt).
- query — lekérdezési adatok (például ?q=keresett+kifejezés).
- fragment — dokumentumon belüli hivatkozás (például #section1), amely általában a kliensoldalon értelmezett.
Típusok
Az URI-k többféle szerepet tölthetnek be; a leggyakoribb megkülönböztetés:
- URL (Uniform Resource Locator) — megadja, hogy hogyan érhető el egy erőforrás (lokátor). Példa: https://example.org/.
- URN (Uniform Resource Name) — állandó név egy erőforráshoz, lokációtól függetlenül. Példa: urn:isbn:0451450523.
- Relatív URI — nem tartalmazza a sémát és/vagy authority-t; akkor használatos, ha a kontextus (például egy weboldal alapja) ismert.
Példák és magyarázat
Példák az URI-kre:
- https://example.org/absolute/URI/with/absolute/path/to/resource.txt
- ftp://example.org/resource.txt
Az előbbi HTTPS-példa összetevői:
- scheme: https
- authority: example.org
- path: /absolute/URI/with/absolute/path/to/resource.txt
További gyakori példák: mailto:[email protected] (e-mail cím azonosítása), file:///C:/path/to/file.txt (helyi fájl), illetve lekérdezéssel és fragmenssel: https://example.org/search?q=kutya#talalat1.
issn1535-3613 mailto:[email protected]
Karakterkódolás és IRI
A hagyományos URI-k csak egy korlátozott karakterkészletet engednek meg; a nem ASCII karakterek esetén percent-encoding (például %20 a szóköz helyett) használatos. Az IRI (Internationalized Resource Identifier) kiterjeszti az URI-t Unicode karakterekre, de alattuk a tényleges protokollok gyakran percent-encodingot alkalmaznak átvitelkor.
Normálás és kanonikalizálás
Ugyanazt az erőforrást többféle URI is megadhatja (például kis- és nagybetűk a hostnál, eltérő percent-encoding). Az alkalmazások gyakran normalizálják (kanonizálják) az URI-kat, hogy összehasonlíthatók legyenek — például a séma kisbetűssé tétele, alapértelmezett portok eltávolítása, dekódolás és rendezés.
Biztonság és jó gyakorlatok
- Ellenőrizze és validálja a bejövő URI-kat, különösen ha felhasználói bemenetből származnak (kódinjektálás, lokal file inclusion kockázatok).
- Használjon HTTPS-t, amikor lehetséges, hogy elkerülje a lehallgatás és manipuláció veszélyét.
- Vigyázzon az IDN (Internationalized Domain Name) homográf támadásokkal, amikor felhasználók számára megjelenített domaineket dolgoz fel.
- Amikor URL-eket konstruál, mindig megfelelően escape-elje a paramétereket (query komponenseket), és ne illesszen közvetlenül felhasználói bevitelből származó szöveget.
Összefoglalás
Az URI-k kulcsfontosságúak az interneten: lehetővé teszik erőforrások egyértelmű azonosítását, akármilyen helyszínről legyenek is elérhetők. Ismerete a szerkezetüknek, típusuknak és a biztonsági kockázatoknak elengedhetetlen minden webfejlesztő és rendszergazda számára.
Keres