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

  1. Készítsen tiszta, de nem feltűnő mechanizmus a felhasználó a források hiánya.
  2. 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.

Kapcsolódó cikkek