Перейти к содержанию
Главное меню
Главное меню
переместить в боковую панель
скрыть
Навигация
Заглавная страница
Указатели
Свежие правки
Случайная страница
Справка по MediaWiki
Народные Сказки
Поиск
Найти
Создать учётную запись
Войти
Персональные инструменты
Создать учётную запись
Войти
Страницы для неавторизованных редакторов
узнать больше
Вклад
Обсуждение
Редактирование:
РуСказки:Пределы шаблонов
(раздел)
О проекте
Обсуждение
русский
Читать
Править код
История
Инструменты
Инструменты
переместить в боковую панель
скрыть
Действия
Читать
Править код
История
Общие
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Справка == === Что это? === Движок [[MediaWiki]], который генерирует итоговый [[HTML]]-код страницы на базе вики-текста, использует [[Синтаксический анализ|парсер]] для анализа включенных данных. Всё это происходит в «препроцессоре», который конвертирует вики-текст в структуру данных, подобную [[XML]]-дереву, а затем использует эту структуру для генерирования «[[m:Help:Expansion|раскрытого]]» вики-текста, в котором структуры из двойных и тройных скобок заменяются их результатом. В процессе преобразования движок использует несколько счётчиков, которые анализируют сложность генерирования страницы. Когда начинается [[синтаксический анализ]] (парсинг) страницы, эти счётчики устанавливаются в нуль, но в процессе анализа постепенно повышают свои значения, как это описано ниже. Каждый счётчик имеет верхний предел, при достижении которого парсер перестаёт обрабатывать тот тип данных, для которого предел превышен. === Зачем нужны эти пределы? === Слишком длинные и сложные страницы могут генерироваться значительное время. Кроме того, что этот недостаток может доставлять неудобства для пользователей, его можно использовать в качестве инструмента для [[DoS-атака|DoS-атак]] на серверы, в ходе которых запросы к сложным страницам заставляют движок MediaWiki обрабатывать несоразмерно огромное количество данных. Эти пределы помогают предотвратить DoS-атаки и уменьшить время генерирования запрошенных страниц. === Что делать, если пределы всё-таки превышены? === Если страница всё-таки достигла пределов для шаблонов, наиболее приемлемым выходом является упрощение самих шаблонов, которого можно добиться используя изложенные ниже методы. Если это невозможно, альтернативным решением проблемы может быть внесение информации прямо в текст страницы, вместо включения этой информации из шаблона. С другой стороны, шаблоны могут, наоборот, избежать повторения парсером однообразных задач, об этом ниже. === Когда проблема может возникнуть? === Превышение пределов возможно на тех страницах, в которых многократно используются одни и те же шаблоны, например, по одному включению на каждую строку длинной таблицы. Несмотря на то, что сам шаблон может вносить в итоговую страницу незначительный объем данных, весь объём данных, используемый шаблоном, будет считаться при каждом его включении и, таким образом, предел счётчика может быть превышен ранее, чем можно ожидать. Страницы, которые включают лишь незначительное количество шаблонов, практически никогда не превышают эти пределы, исключением могут быть случаи, когда сами шаблоны содержат огромное количество данных. === Как узнать, превышены ли пределы? === При обработке страницы движком в HTML-код после основного содержимого страницы добавляется тег комментария [[:mw:NewPP parser report]], содержащий итоговые значения счетчиков. Например, статья [[Кошка]] (на момент 19 апреля 2011 года) содержит следующий комментарий в сгенерированном HTML-коде: <source lang="html4strict"> <!-- NewPP limit report Preprocessor node count: 68502/1000000 Post-expand include size: 431392/2048000 bytes Template argument size: 210835/2048000 bytes Expensive parser function count: 89/500 --> </source> Первые три счётчика обычно не превышают пределов. Когда значение счётчика близко к пределу, некоторые шаблоны могут быть проигнорированы парсером. Каждое вхождение нераскрытого шаблона отмечается в теле страницы как HTML-комментарий, содержащий сообщение об ошибке, например: <source lang="html4strict"> <a href="/wiki/Шаблон:Foo" title="Шаблон:Foo">Шаблон:Foo</a><!-- WARNING: template omitted, post-expand include size too large --> </source>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Народные Сказки» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
РуСказки:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Отобразить/Скрыть ограниченную ширину содержимого