Свернуть (сжать; сжать) HTML для хранения базы данных: это необходимо? - PullRequest
1 голос
/ 31 января 2012

Я храню HTML из тела писем в столбце SQL Server nvarchar (max).Есть ли какая-то выгода в минимизации HTML на пути к этому?

Под минимизация Я имею в виду удаление избыточных пробелов и возврат каретки / перевод строки в текстовом потоке HTML.Моя терминология может быть не совсем правильной: я не смотрю на удаление каких-либо HTML-тегов / комментариев или чего-либо подобного.

По преимущество Я имею в виду эффективность пространства хранения, скоростьвставки / извлечения, поэтому преимущества сосредоточены на стороне базы данных.

Если стоит , то стоит , на что мне следует обратить внимание (например, если я заменю переводы строки одним пробелом,может ли он неправильно отобразить HTML позже)?

Ответы [ 2 ]

1 голос
/ 31 января 2012

HTML будет просто сохранен как BLOB в базе данных.Вы не сможете разобрать его, найти его и т. Д. (Ну, технически вы можете, но это глупо).В этом случае вы можете (не) сжать его в клиенте и отправить + сохранить его как varbinary (max) в базе данных.

Компромисс - процессорное время для управления сжатием против увеличения памяти + сетевого трафика.

Я бы не стал дезинфицировать HTML, потому что вы потеряете читабельность и, возможно, оригинальный контент.

1 голос
/ 31 января 2012

Вам все равно потребуется полный анализатор HTML, чтобы понять, что такое HTML, а что нет.Большинство браузеров делают небольшую «поправку», чтобы сделать HTML-код непредставимым в противном случае графически визуализируемым - таким образом, что без полного анализа дерева было бы невозможно.

Кто-то может засунуть какой-нибудь плохой HTML-код, который может по ошибке обмануть ваш «простой» парсер по ошибке, а не по злобе.Не занимайтесь исправлением HTML, ведите его дословно и дайте повредить плохому контенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...