それらは潜在的に非常に異なる目的を果たします。リソースに直接リンクできる場合は.png
、ウェブ上で世界中からアクセスできる実際のファイルである可能性があります (ただし、そうであるとは限りません)。PHP スクリプトを使用して画像コンテンツを提供する場合、さまざまなことが舞台裏で行われている可能性があります。
たとえば、PHP はユーザーのセッションまたは認証資格情報をチェックして、イメージの承認を提供できます。画像のバイナリ データは、ファイル システムではなくデータベースに格納される可能性があります。または、ファイル システムの場合は、画像ファイルがWeb サーバーのドキュメント ルートの外部に格納され、直接アクセスできない可能性があります。一般的な使用法の 1 つは、ユーザーが承認されていない場合にファイルへのアクセスを拒否し、その代わりに「アクセスが拒否された」デフォルト イメージなどの他のイメージ データを提供することです。
PHP スクリプトのもう 1 つの潜在的な用途は、リソースに対するセッションごとのヒット カウント、またはクライアントがリソースに何度もヒットしないようにレート制限することです。
静的ファイルを提供する場合、承認、ログ記録などは、構成されている Web サーバーの機能に制限されます。
問題はどちらが速いかということではなく、どちらがアプリケーションのビジネス ニーズに合っているかということです。