Представяне на документа в HTML формат
В тази глава ще обсъдим как HTML документи са представени на компютър и интернет.
Раздел документ набор от символи се отнася до въпроса за абстрактни символи. които могат да бъдат включени в документа, HTML. Някои от тези знаци са латинска буква "А", писмото на кирилица "I", китайският йероглиф за "вода" и т.н.
Тъй като човешки език има огромен брой знаци и различни методи за тяхното изпълнение, трябва да се внимава, че тези документи може да бъде разбран от потребителски агенти по целия свят.
За да се гарантира оперативната съвместимост, SGML изисква всяко приложение (включително HTML) определя набор документи характер. Документът включва:
Репертоар. Разположен на абстрактни символи,. като латинската буква "а", писмото на кирилица "I", китайският йероглиф за "вода" и т.н.
Кодове. Набор от препратки целочислени за репертоара на знака.
Всеки документ SGML (включително всеки документ HTML) - поредица от символи от репертоара. Компютърни системи за идентифициране на всеки знак от неговия код; например, в набор от ASCII кодове на символи 65, 66 и 67 се обозначи знака "А", "Б" и "С", съответно.
ASCII набор от символи, не е достатъчно за глобална информационна система, както в интернет, така че HTML използва по-пълно набор от символи, наречена Universal задаване на знака (Universal набор от символи - UCS), и са определени в [ISO10646]. Този стандарт определя репертоар от хиляди знаци, използвани в целия свят.
Набор от символи, определени в [ISO10646] - това е характер ориентирани еквивалентни на Unicode 2.0 ([UNICODE]). И на тези стандарти се актуализира от време на време, да се актуализира с нови герои, промените трябва да бъдат консултирани в съответните уеб сървъри. В тази спецификация, ISO / IEC-10646 или Unicode предполага същата тази набор от символи. Въпреки това, в спецификацията на HTML Unicode се нарича още в обсъждането на други въпроси, като двупосочен текст алгоритъм.
Документ набор от символи, обаче, не е достатъчно да се потребителски агенти правилно да интерпретира HTML документи в типичен борса - кодира като последователност от байтове във файл или по време на предаване по мрежата. Потребителските агенти трябва да знаят също, кодировката на знаците. използва за конвертиране на документ характер поток в поток байт.
кодиране на знаците в тази спецификация има различни имена в различни спецификации (които могат да предизвикат известно объркване). Въпреки това, тази идея на Интернет означава за едно и също нещо. В същото име - "набора от знаци - набор от знаци" - се използва в заглавията на протокола, атрибути, както и параметрите, отнасящи се до героите и да използва същите стойности от [IANA] регистър (за пълния списък вижте [Charsets].).
Параметърът "набор от знаци" идентифицира кодиране на символите, който е метод за превръщане на последователност от байтове в последователност от знаци. Това преобразуване се вписва естествено в схемата на уеб дейност: сървъри да изпратят HTML документи за потребителски агенти като поток от байтове; потребителски агенти ги интерпретират като последователност от символи. трансформационни методи могат да варират от обикновен 12:59 кореспонденция за сложни схеми за комутиране или алгоритми.
Лесна техника за кодиране "един байт - с една дума" недостатъчен за текстови низове с такъв широк репертоар от символи като [ISO10646]. Също кодировки целия набор от символи (например, UCS-4), има някои други части на кодиране [ISO10646].
Сървъри и прокси сървъри могат да се променят характер кодиране (наречена транскодиране) в движение да изпълнява потребителски агенти поискване (вж. Раздел 14.2 [RFC2068]. Искане HTTP глава "Приемане-Кодова"). И прокси сървъри не трябва да служат на кодировката на документа, включително целия набор документи характер.
Широко използван уеб криптиране - ISO-8859-1 (също по-нататък "Latin-1", използван за повечето западноевропейски езици), ISO-8859-5 (с поддръжка на кирилица), SHIFT_JIS (японски кодиране), EUC-JP (друг японски кодиране) и UTF-8 (ISO 10646, кодираща вариант използване на различен брой байтове за различните герои). Имена на кодирания са чувствителни към регистъра, така че, например, "SHIFT_JIS", "Shift_JIS" и "Shift_JIS" са еквивалентни.
Тази спецификация не се уточнява какво кодиране на знаците трябва да помагат на потребителя, агент.
Съответстващ потребителски агенти трябва правилно показване на Unicode всички символи в произволна кодиране, те могат да разпознаят.
Забележки относно специфични кодировки
Когато HTML текст се предава в UTF-16 (набор знаци = UTF-16), текстови данни следва да бъдат предавани в мрежата на байт ред ( "голям-къс", старшият байт - първият) в съответствие с [ISO10646]. Раздел 6.3 и [UNICODE]. позиция С3, страница 3-1.
Освен това, за да се увеличи вероятността за правилно тълкуване, се препоръчва да се предават на UTF-16, като винаги се започва с главни букви без счупване пространства на нулева ширина (шестнадесетичен код FEFF на, наричан Марк на байт поръчка (Byte Поръчка Марк - BOM)), която се занимава байта става шестнадесетичен FFFE никога не възлага на символ. По този начин, на потребителския агент получава шестнадесетичен код FFFE като първите байта на текста ще бъде наясно, че останалата част от текста, байтове трябва да се обърнат.
Да не се използва UTF-1 [ISO10646] формат трансформация (IANA регистрирани като ISO10646-UTF-1). За информация относно ISO 8859-8 и двупосочен алгоритъм, вижте. Раздел двупосочност и кодиране на знаците.
Сървърът определя кои кодиране на символите, използвани в документа? Някои сървъри проучат първите няколко байта на документа, или проверени в база данни на известни файлове и кодиране. Много съвременни уеб сървъри предоставят на администраторите с повече възможности за управление на конфигурацията на набора от символи, отколкото на старите сървъри. Уеб администраторите на сървърите трябва да използват тези механизми, за да изпратите параметър, ако е възможно "набор от знаци", но трябва да се внимава да не се постави "набор от знаци" параметър стойност за грешни документи.
Като потребител на агент знае кои кодиране на знаците е била използвана? Тази информация се предоставя от сървъра. Най-добрият начин да се информира потребителя агент за кодова таблица на документа - използвайте "набор от знаци" параметър в полето удар с глава на "Content-Type" HTTP протокол (. [RFC2068] раздели 3.4 и 14.18), например, HTTP хедър обявява следващия, който използва кодиране EUC-JP:
Протоколът HTTP ([RFC2068]. раздел 3.7.1) счита, ISO-8859-1 подразбиране кодиране на знаци, ако "набор от знаци" параметър в заглавната част "Content-Type" липсва. На практика тази препоръка е безполезна, тъй като някои сървъри не позволяват да изпращате на параметъра "набор от знаци", а някои не могат да бъдат конфигурирани да изпратите този елемент. Ето защо, потребителски агенти не трябва да поемат никакво значение "набор от знаци" параметър.
За да зададете на сървъра или конфигурационни ограниченията на HTML документи могат да включват подробна информация за кодова таблица на документа; за осигуряване на тази информация може да се използва от потребителските агенти МЕТА елемент.
В допълнение към този списък от приоритети, на потребителския агент може да използва евристични методи и потребителските настройки за настройка. Например, много потребителски агенти използват евристичен да се разграничат различни кодировки, използвани за японски. Потребителските агенти обикновено имат локален подразбиране дефинирани от потребителя кодиране, която използват, ако няма индикация кодиране.
Забележка. Ако в някое приложение, което трябва да се използват символи, които не са включени в кодирането [ISO10646]. тези символи трябва да бъдат избрани лично зона, за да се избегнат конфликти с настоящи или бъдещи версии на стандарта. Въпреки това, не се препоръчва поради съвместимост.
препратки характер в HTML може да отнеме две форми:
Числовите препоръки (десетичен или шестнадесетичен).
Забележка. Въпреки че шестнадесетично представяне не е уточнено в [ISO8879]. се очаква в новата версия, както е описано в [WEBSGML]. Това споразумение е особено полезно, тъй като символи стандарти обикновено използват шестнадесетични представяния.
5.3.2 Комбинации от препоръки
HTML 4.0 не определя референтен характер лице за всеки характер. Например, за писмо на кирилица "I" не се споменава характер лице. Cm. Пълен списък на личностни характеристики, определени в HTML 4.0.
Комбинации от препоръки са чувствителни към регистъра. Например, Å сочи към друг символ (окръжност с главни букви), вместо å (Окръжност с малки букви).
Четири връзки трябва да бъдат споменати специално, тъй като те често се използва за обозначаване на специални знаци:
"Lt;" е знак, <.
"Gt;" Той представлява> знака.
"-" представлява характер ,
"" Представлява "марка.
Възможно е на потребителския агент не може да покаже всички герои в документа, например, поради липса на съответния текст или ако характерът има стойност, която не може да се изрази във вътрешния кодирана потребител агент и т.н.