2015-10-28 8 views
6

で遅くリダイレ​​クトコードが正常に動作します302の画像は、私はWAMPの午前ブラウザ

<?php 
header("Location: http://localhost/redirect/blah"); 
exit(); 
?> 

以下のようdemo.html

<img src="http://localhost/redirect/demo.php"></img> 

demo.phpコードの1行のコードの下にスタックしています。私はimgタグ対スクリプトタグを使用するようにdemo.htmlを変更するときには、コンテンツのダウンロード Response time using IMG tag

中に巨大な応答時間があり、応答時間の間に問題なくがある

<script src="http://localhost/redirect/demo.php"></script> 

Response time using SCRIPT tag

なぜこれがIMGタグに起こっているのか分かりません。誰もがなぜこれが起こっているのか説明してもらえますか?これを避けるにはどうしたらいいですか? javascriptソリューションを使用せずに302経由でIMGを読み込む方法はありますか?

注 - http://localhost/redirect/demo.phpを直接呼び出すと、応答時間に影響しないため、これはPHP/WAMPの問題にはなりません。これはブラウザ、そのレンダリング、ロードイベントと関係があります。

+0

現代のブラウザはで賢くです:Eventualyあなたはリバースプロキシをご覧使用することができ、他のサーバー上に「何とか」ファイル/スクリプトを持つようにしたい場合は

RewriteEngine on RewriteRule ^redirect/demo.php$ /redirect/blah [QSA,L] 

スクリプトの場合、スクリプトを同時に読み込みます。同時に、HTMLはトップダウン手法で読み込まれ、イメージが取得された後にimgタグが表示されます。そして@Vivekは正しいですが、スクリプトは同期して読み込まれ、イメージはキューに入れられ、非同期に読み込まれます。 – sarath

答えて

0

画像のリダイレクトの用途に応じて、URL Rewritingをご覧ください。

あなたのサンプルコードが文脈から外れているので、良い解決策ではないかと思います。

あなたはまた、あなたに追加の情報を提供することができ、この質問を見てとることができます。Is it OK to HTTP redirect images?

2

を私が間違っていないよ場合は、画像がキューイングおよび非同期的にロードされているのに対し、スクリプトを同期的にロードされています。あなたは、スクリプトタグを使用するブラウザが302何かをロードする前http://localhost/redirect/blahを実行するためにこの力ブラウザを送信http://localhost/redirect/demo.phpをロードするために待っていれば

だから、私の理解です。

代わりにimgタグを使用すると、ブラウザはhttp://localhost/redirect/demo.phpを実行し、ページの残りの部分を読み込み続けます。 demo.phpが302を返すと、ロードされるURLのキューにhttp://localhost/redirect/blahが追加されます。そのため、画像をロードするための全体的な時間が長くなります。

避けることができるかどうかわかりません。おそらく、demo.phpでキャッシュを有効にすると、後続のリクエストに役立つ可能性があります。

関連する問題