У меня есть следующая директива поверх моей главной страницы
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Согласно следующей статье из W3C они начинают блокировать загрузку DTD на основе строки для каждого агента пользователяpattern.
Какой лучший способ кэшировать DTD локально или, что еще лучше, загрузить его один раз и затем сослаться на локальную копию?
Я использую IIS 7.5.
Вы можете использовать прокси-сервер, такой как squid, чтобы обслуживать его локально - в зависимости от того, что «локально» означает для вас.
Установите его в свой локальный каталог DTD. То, как вы это делаете, зависит от программного обеспечения, которое вы используете. Например, OpenSP использует переменную окружения SGML_CATALOG_FILES .
SGML_CATALOG_FILES
Вам не нужно беспокоиться об этом, если только вы не запускаете какой-то синтаксический анализатор XML над своими документами. Если вы просто обслуживаете их с веб-сервера, вы не будете касаться DTD.