1

メール本文の HTML を SQL Server nvarchar(max) 列に保存しています。途中で HTML を最小化するメリットはありますか?

最小化とは、HTML テキスト ストリーム内の余分な空白とキャリッジ リターン/ラインフィードを削除することを意味します。私の用語は正しくないかもしれません。HTML タグやコメントなどを削除するつもりはありません。

メリットとは、ストレージ スペースの効率性、挿入/取得の速度という意味です。そのため、メリットはデータベース側に集中しています。

行う価値がある場合、何に注意すればよいですか (たとえば、改行を 1 つのスペースに置き換えると、後で HTML が正しく表示されない可能性があります)。

4

2 に答える 2

1

何が HTML で何がそうでないかを理解するには、完全な HTML パーサーが必要です。ほとんどのブラウザは、ツリーを完全に解析しないと不可能な方法で、そうでなければ表現できない HTML をグラフィカルにレンダリングできるようにするために、少し「修正」を行います。

誰かが悪い HTML を貼り付けて、悪意よりも間違いで簡単に「単純な」パーサーをだましてしまう可能性があります。HTML を修正する仕事に取り掛かるのではなく、逐語的に処理し、悪いコンテンツがハングアップするのを待ちます。

于 2012-01-31T03:38:23.463 に答える
1

HTML は BLOB としてデータベースに保存されます。それを解析したり、検索したりすることはできません (まあ、技術的にはできますが、それはばかげています)。その場合、クライアントで圧縮 (解凍) して送信し、データベースに varbinary(max) として保存できます。

トレードオフは、圧縮を管理するための CPU 時間とストレージ + ネットワーク トラフィックの増加です。

可読性が失われ、元のコンテンツが失われる可能性があるため、HTML をサニタイズしません。

于 2012-01-31T08:37:59.610 に答える