![]() |
||
|
aranea.ru || WML - Введение | 12. Семантика устройства вывода
12. Семантика устройства выводаЗа исключением того, когда явно заявлено, WML не диктует, как устройство вывода должно выводить содержание WML. Устройство вывода не обязано выполнять любые частные преобразования элементов для элементов интерфейса пользователя, и автор WML не должен полагаться на них. 12.1 Управление доступом к декеВведение переменных в WML открывает потенциальные вопросы безопасности, которые не существуют в других языках разметки, таких как HTML. В частности, определенное состояние переменных может рассматриваться как частное для пользователя. Когда пользователь может захотеть послать частную информацию на безопасный сервис, то незащищенный или вредоносный сервис не должен иметь возможность извлечь такую информацию из устройства вывода другими средствами. Согласованные устройства вывода WML должны выполнять управление доступом на уровне деки, включая элемент access и атрибуты sendreferer, domain и path. Автор WML должен убирать частную или чувствительную информацию из содержания обозревателя, очищая переменные, содержащие такую информацию. 12.2 Поведение при нехватке памятиWML нацелено на устройства с ограниченными аппаратурными ресурсами, включая значительные ограничения с размером памяти. Важно, что автор имеет ожидание поведения устройства в ошибочных ситуациях, включая те, которые происходят от недостатка памяти. 12.2.1 Ограниченная историяУстройство вывода может ограничивать размер стека истории (т.е., глубину информации исторической навигации). В случае переполнения размера истории, устройство вывода должно удалять самую последнюю использованную информацию истории. Рекомендуется, чтобы все устройства вывода имели минимальный размер исторического стека в десять записей. 12.2.2 Ограниченный размер содержания обозревателяВ некоторых ситуациях, возможно, авторы определяют избыточное число переменных в контексте браузера, ведущих к истощению памяти. В этой ситуации устройство вывода должно пытаться получить дополнительную память, повторно требуя кеширования и памяти для истории, как описано в разделе 12.2.1. Если это будет неудачным и устройство вывода исчерпало всю память, то пользователь должен получить сообщение об ошибке, и устройство вывода должно переустановиться на предсказуемое состояние пользователя. Например, обозреватель может завершить работу, или содержание может очиститься, и браузер переустановится к хорошо известному состоянию. 12.3 Обращение с ошибкамиСогласующиеся устройства вывода должны обнаруживать ошибочные условия, определяемые в этой спецификации, и не должны скрывать ошибки, пытаясь выяснить намерения автора или оригинального сервера. 12.4 Неизвестный файл DTDДека WML, закодированная с альтернативным файлом DTD, может включать элементы и атрибуты, которые не распознаются определенными устройствами вывода. В этой ситуации, устройство вывода должно выводить деку, как если присутствует нераспознаваемый тег или атрибуты. Содержание в нераспознаваемых элементах должно выводиться. |