バックアップ Web サイトがあります。ウェイバックマシンのようなもの。HTML のコンテンツを返すと、明らかに、リンクされたドキュメント (画像、javascript ファイル、css ファイルなど) が元の Web サーバー (私のサーバーではなく) から読み込まれます。これらのリンクをサーバーからロードされるように置き換えたいと思います。私が取るべき2つのアプローチがあります:
- Java または PHP を使用してサーバー側で実行します。これを行うには、Java と PHP の両方を使用できます。たとえば Java では、jSoup を使用して HTML を解析し、リンクを置き換えることができます。
- jQueryを使用してクライアント側で実行します。
2番目の方法を使用すると、HTMLを解析するためにサーバーに負荷をかける必要がなくなりますが、ページが読み込まれるとすぐに元のサーバーからファイルのダウンロードが開始され、ユーザーの帯域幅が浪費される.
一方、画像が正常にダウンロードされたかどうかを何らかの方法で判断できれば、サーバーからのダウンロードをスキップして、元のサーバーからダウンロードしたファイルをユーザーに使用させることができます。
これに対するあなたの提案は何ですか?
アップデート
相対リンクと絶対リンクについて、いくつか明確にする必要があります。私のサービスのリンクは絶対パスとして保存されます。ただし、HTML ドキュメントには両方のタイプのリンクが含まれる場合があります。私がする必要があるのは:
http://stackoverflow.com/images/image.png
に変換http://mysite.com/view/content?url=http://stackoverflow.com/images/image.png
/images/image.png
(上でhttp://stackoverflow.com
)に変換するhttp://mysite.com/view/content?url=http://stackoverflow.com/images/image.png
つまり、HTML 上の相対リンクを絶対リンクに変換してから、私の Web サイトにURL
引数として送信する必要があります。