Bemutatás html dokumentum
Ebben a fejezetben azt tárgyaljuk, hogyan HTML dokumentumok jelennek meg a számítógépen és az interneten.
A kódból oldalas dokumentum tárgyalja a kérdést, hogyan lehet elvont karakter része lehet a dokumentum HTML. Karakterek betűket a latin ábécé, cirill, kínai karakterek „vízjelet”, stb
Mivel olyan sok karakter a nyelv a különböző nemzetek és sokféle módon lehet képviselni ezeket a karaktereket kell egy speciális megközelítést annak érdekében, hogy a dokumentumok hozzáférhetők olvasásra bármely böngészőben a világ bármely pontján.
5.1 Az kódlapjára dokumentum
Annak érdekében, hogy az interakció, az SGML megköveteli, hogy minden alkalmazás (HTML kérelmet - beleértve a) meghatározza egy sor különböző karakter. A karakterkészlet (kódlap) a következőkből áll:
- „Repertoár”. halmaza absztrakt szimbólumok, mint például a latin „A” betű, az orosz „I” betűvel, a kínai „vízjelet”, stb
- karakter pozícióját. meghatározott numerikus karakter hivatkozások karakter a „repertoár”.
Minden dokumentum SGML (beleértve az összes dokumentumot HTML) - egy karaktersor, a „repertoár”. A számítógép operációs rendszere azonosítja minden karakter kódjával helyzetét. Például, az ASCII jelkészlet kódot pozicionálja 65., 66. és 67. lásd a karakter „A”, „B” és „C” volt.
Az ASCII karakterkészlet nem elegendő a globális információs rendszerek, mint például az interneten, így a HTML használ egy teljes karakterkészlet úgynevezett Universal Character Set (UCS) / Universal Character Set, dokumentumban meghatározott [ISO10646]. Ez a szabvány meghatározza a repertoárjából ezer készletek szimbólumok használják szerte a világon.
Karakterkészlet, meghatározott [ISO10646]. egy szimbólum-ekvivalens Unicode karakter ([UNICODE]). Mindkét előírások egészítik időről időre új karakterekkel, és a módosítások mindig ki kell kérni az érintett web-oldalak. A jelenlegi ISO10646 előírások meghatározására használják olyan karakterek, míg a UNICODE van fenntartva utalásokat a kétirányú szöveges algoritmust.
Egy karakterkészlet, azonban nem elég ahhoz, hogy a felhasználó böngészője helyesen értelmezni HTML dokumentumok mivel ezeket általában kódolva bájtok sorozata a fájl átvitel során a hálózaton keresztül. A felhasználó böngészője kell „tudni” az adott kódolást. használt, hogy átalakítsa a dokumentum egy byte stream.
5.2 kódlapokhoz
Az a tény, hogy ebben a leírásban az úgynevezett karakterkódolást. Köztudott, különböző nevek alatt más adatok (amelyek néha zavaró). Ugyanakkor az általános megértés - az egyik az egész interneten.
Rovatok protokollok (protokoll fejlécek), attribútumok, és vonatkozó paramétereket kódoló szimbólumok használatával egy kifejezés - „karakterkészlet”, és ugyanazokat az értékeket a nyilvántartásból [IANA] (lásd a lista [karakterkészletekkel]).
A paraméter „karakterkészlet” azonosít egy karakterkódolás, amely egy módszer a konvertáló bájtok sorozata a karaktersor. Ez az átalakítás megfelel, természeténél fogva, aktivitás diagram Web: szerverek küldeni HTML dokumentumokat felhasználó böngészőjének, mint egy byte stream, a felhasználók böngészők értelmezni, hogy egy karaktersorozat.
Módszerek átalakítás tartományban egyszerű egy-over-the más kapcsolóáramkörökről bonyolult és algoritmusok.
Egyszerű kódolási technika, egy byte egyetlen karakter, nem elegendő ahhoz, hogy használni karakter, amely nem szerepel a „repertoár” [ISO10646]. Számos különböző kódolásokat, mivel a részleges kódolás használatával a [ISO10646]. és akár egy teljes karakterkészlet kódolási (például UCS-4).
Szerverek és proxy-szerverek lehet változtatni a karakter kódolást (úgynevezett átkódolás) „a pályán”, hogy fogadja el a felhasználó böngészőjének kérésére (lásd 14.2 [RFC2616]. Request fejléc „Accept-Charset” HTTP). Szerverek és képviselet nem kell szolgálni a dokumentumot a kódolás, amely lefedi a teljes karakterkészletet a dokumentumot.
Jellemzően a Web használ kódolás: ISO-8859-1 (más néven a "Latin-1" használják a legtöbb nyugat-európai nyelven), az ISO-8859-5 (cirill), SHIFT_JIS (japán kódolás), EUC-JP (egy másik japán kódolás) és az UTF-8 (kódoló ISO 10646 egy másik bájtok száma a különböző karakterek). Nevei karakterkódolásokat kis- és nagybetűket. Így, "SHIFT_JIS", "Shift_JIS", és a "Shift_JIS" egyenértékűek.
Ez a specifikáció nem határozza meg, kódolási böngészőjének támogatnia kell.
Compliance böngészők. Böngészők meg kell felelnie a kijelzőn, az ISO 10646 összes karakter bármilyen kódolást, hogy felismerjék (vagy meg kell eljárni, mintha azok felismerik őket).
Megjegyzések a speciális kódolási ke
Amikor HTML szöveget továbbítják az UTF-16 (charset = UTF-16), a szöveges adatokat kell továbbítani a hálózati byte sorrendben ( "big-endian", a legjelentősebb byte - az első) összhangban [ISO10646]. 6.3 és [UNICODE]. bekezdés C3, 3-1 oldal.
Továbbá annak érdekében, hogy növelje esélyeit helyes értelmezése a dokumentum, azt javasoljuk, hogy a továbbított irat UTF-16, mindig kezdőszimbólum ZERO szélességű nem törhető szóköz (hexadecimális FEFF, más néven Byte Order Mark (BOM)), amely, ha permutációja bájt lesz FFFE, szimbólum, ezzel biztosítva, hogy soha nem lesz telepítve. Így a felhasználó böngészőjének, fogadó FFFE mint az első byte szöveg, képes meghatározni, hogy ez a bájt van fenntartva, hogy emlékeztesse UTF-16.
UTF-1 átalakítása formátumban [ISO10646] (IANA regisztrált, mint az ISO10646-UTF-1) nem alkalmazható.
Mintegy ISO 8859-8 és a kétirányú algoritmus, lásd. Szakasz kétirányúságát és karakterkódolást.
A szerver meghatározza a kódolás a dokumentum? Néhány szerver megvizsgálja az első néhány byte a dokumentum vagy érvényesíteni adatokat egy adatbázisban az ismert fájlok és kódolásának. Sok modern szerverek így Web-mester több ellenőrzése alatt a konfiguráció a karakterkészletet. Web-mester kell használni ezeket a mechanizmusokat adatot átvinni „charset”, amikor csak lehetséges, és nem utalnak a dokumentum helytelen „charset” paraméter értékét.
Hogyan ismerjük fel a felhasználó böngészőjének kódolása a dokumentum?
Ezt az információt meg kell adni a szerver. Közvetlen módja ennek - a használata „charset” paraméter a fejléc mező „Content-Type” HTTP protokoll ([RFC2616] szekciók 3,4 és 14,17.). Például a HTTP fejléc bejelenti a következő kódolási EUC-JP:
A HTTP protokoll ([RFC2616]. A 3.7.1) említi ISO-8859-1 az alapértelmezett kódolást hiányában "charset" paraméter a "Content-Type" fejlécet területen. A gyakorlatban ez az ajánlás haszontalan, mert néhány kiszolgáló nem küld a paraméter „charset”, míg mások nem lehet beállítani, hogy küldjön a paramétert. Így a böngésző nem tud az értéke „charset” paraméter alapértelmezett.
Összefoglalva: a böngészők felel meg a követelményeknek, akkor figyelembe kell vennie az alábbi prioritások meghatározása során a dokumentum kódolása (a legmagasabbtól a legalacsonyabb prioritású):
Amellett, hogy ez a lista a prioritások, a böngésző használhatja a heurisztikus és felhasználói beállításokat. Például sok böngésző a heurisztikus különbséget kódoló japán szöveget. Továbbá, a böngészők általában használja a helyi alapértelmezett kódolást a felhasználó által meghatározott, amelyeket hiányában más mutatók.
Megjegyzés. Ha egy adott alkalmazás kell utalni a karakterkészlet [ISO10646]. karakterek kell bontani külön (saját zóna), ez nem ütközik a jövőbeli változatai a szabvány. Azonban ez nem ajánlott a hordozhatóság támogatása miatt.
5.3 memorizálás (szimbólumok a kapcsolat neve)
A karakter referencia (mnemonikok) lehet a két típus:
- Numerikus karakter hivatkozásokat (decimális vagy hexadecimális).
- Mnemonics szimbolikus elemek.
Megjegyzés. HTML biztosít lehetőséget a közölt karakteres adat, különösen - a beágyazott képek \ beágyazott képeket.
5.3.1 Digitális mnemonika
Digitális elemhivatkozások szimbólumokra meghatározzák a kód helyzetét egy karaktert a dokumentumban karakterkészlet. Numerikus karakter hivatkozásokat kétfélék:
- "#D;", ahol a D. decimális szám arra utal, hogy egy decimális értéket D ISO 10646 karakter.
- "#xH"; vagy „#XH;”, ahol a H. hexadecimális szám arra utal, hogy a hexadecimális érték H ISO 10646 karakter hexadecimális szám digitális Mnemonics érzéketlen.
Íme néhány példa a digitális emlékezet:
- # 229; (10 értékű) képviseli az „a” betű egy kis kör a fenti (használhatók például Norvégiában.);
- # XE5; (16-értékű) ugyanaz a betű;
- # Xe5; (16 értékű) azonos;
- # 1048; (10-értékű) orosz "és" címet;
- # X6C34; (16 értékes) kínai „víz” karaktert.
Megjegyzés. Bár a 16-dimenziós ábrázolása nincs megadva [iso8879 porton keresztül érhető]. Várható, a felülvizsgálat, leírtak szerint [WEBSGML]. Ez a megállapodás különösen fontos szimbólumai standardok a 16-nye teljesítményét.
5.3.2 Karakter elemhivatkozások (név szerint)
Karakter referenciák a kis- és nagybetűket. Például, Å Ő utal egy másik levél (A kör nagybetűs) helyett å (A kisbetű a kör).
Négy karakter hivatkozásokat kell külön említeni, mert gyakran használják bizonyos escape-szekvenciák:
A böngésző nem tud helyesen megjelenni az összes karakter a dokumentumban. Például, ha a felhasználó nem rendelkezik a megfelelő font karakternek van egy érték, amely nem kódolt a belső böngésző, stb
- Készítsen tiszta, de nem feltűnő mechanizmus a felhasználó a források hiánya.
- Ha a hiányzó karaktereket számokkal jelölik, akkor a 16-nye (nem decimális) alakban, amíg ezek a formák a szabványoknak.