web-dev-qa-db-ja.com

シンボリックリンクとApacheエイリアスのどちらが一般的に高速またはベストプラクティスと見なされますか?

私はほとんどの人の見解がこの主題に関して何であるかについて興味があります。個人的には、他に選択肢がない限り、ほとんどの場合シンボリックリンクを好みます。誰かがファイルシステムをナビゲートしているときははるかに明白ですが、一方でエイリアシングはプラットフォームに依存しません。たとえば、Windows XPには、シンボリックリンクにリモートで匹敵するものはありません(NTFSジャンクションは 少なくとも一部の 環境では正しく解釈されません)。つまり、* nixベースのシステムでシンボリックリンクに依存するものはすべて転送できません。 (Windows 64x OSにシンボリックリンクがあることは知っていますが、前述の環境で正しく読み取れるかどうかはわかりません)

これに加えて、どちらが速いと考えられているのかも疑問に思いました。これを知ることさえ可能ですか?推測はありますか?シンボリックリンクは一般的にApacheよりも低レベルであるため、より速く参照されることは理にかなっていると思いますが、一方で、どちらの場合もApacheはルックアップを実行する必要があると思います。ディスクの読み取りに依存します。

2
cwallenpoole

エイリアスには、リンク先のファイルの一意の識別子と、リンク先のファイルのパスとファイル名の2つの情報が含まれています。

ファイルの名前を変更または移動してから、ファイルが元々持っていたパスとファイル名で新しいファイルを作成すると、元のファイルにリンクしていたエイリアスが新しいファイルにリンクするようになります。

ただし、ファイルを置き換えずに名前を変更または移動してからエイリアスを呼び出すと、一意の識別子を使用して新しいパスとファイル名を指すようにエイリアスが更新されます。

一方、シンボリックリンクにはファイルへの一意の識別子が含まれておらず、ファイルの名前が変更または移動され、同じパスとファイル名のファイルに置き換えられない場合、壊れているように見えます。

どちらを選択するかは、どのシナリオが最適かによって異なります。

4
Matias Dominoni

シンボリックリンクは、1つのURLが1つのファイルシステムパスに直接対応するという一般化に依存しているため、私は一般的にエイリアスを好みます。これは一般的に当てはまりますが、ほとんどのWebアプリケーションで検索エンジンに適したURLが普及しているため、かなり洗練されたルーティングを行うものもあるため、ドキュメントルートが最初にチェックする場所になることはめったにありません。 URLの行き先。

2
jgoldschrafe