カスタム リバース プロキシ (C++ で記述) を開発するために、HTML コンテンツの URI をリアルタイムで変換したいと考えています。たとえば、をhttp://myserver/
使用してリソースにアクセスしたい場合http://my-reverse-proxy/myserver
、すべての絶対リンクとトップレベル リンクを変更する必要があります。http://myserver/somecontent1.ext
/somecontent2.ext
HTML タグ
<img src="/sample.png">
したがって、に翻訳されます
<img src="/myserver/sample.png">
私の観点からは、次のアプローチがあります。
1) 正規表現と文字列置換を使用して、キャプチャ グループを使用して関連するすべての HTML タグとそのパスを検索し、文字列置換を行います。
2) HTML コンテンツ全体を解析し、解析ツリーで何らかの変換を行い、結果を有効な HTML リソースに整形して出力します。
そして、これがこの質問のすべてです。どのソリューションがより速く、おそらくより合理的であるかを経験したことがありますか? 車輪の再発明を避けるために使用できるフレームワークを知っていますか? このプロセスは後で CSS および XML ベースのリソースにも使用する必要があるため、HTML に依存するソリューションではありません。
前もって感謝します!