2

ユーザーのアバター画像ファイルのほとんどの URL が非常に長く、多くのデータを組み合わせていることがわかりました。

たとえば、フェイスブック:

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/371533_1567227XXX_1135411XXX_q.jpg

1135411XXXがユーザー ID であり、qファイル サイズであることはわかっていましたが、何3715331567227XXX略なのでしょうか?

その他:

リンクインhttp://m3.licdn.com/mpr/mpr/shrink_60_60/p/4/000/165/0e4/3b2dcXX.jpg

タンブラーhttp://24.media.tumblr.com/avatar_4de452cedeXX_64.png

ユーザーIDでファイル名を付けるだけで、次のように短くて簡単になります。

<img src="http://domain.com/images/avatar/' . $user_id . '.jpg"/>

しかし、なぜ彼らは URL をこれほど長く複雑にするのでしょうか? 私が考慮しなかった潜在的な問題は何ですか?

4

4 に答える 4

1

それらは複雑なシステムであり、おそらくアバターの写真には多くの用途があります。多分異なる場所で彼らは異なるサイズを必要とします。たぶん彼らは彼らのサイトからのみアクセス可能なURLを必要としています。

おそらく、ファイルをサーバーから静的に提供して負荷を軽減できるように、一意に生成されたURLが必要です。

TwitterのURLは本当に単純なようです。cdnドメイン、avatar_一意のID、画像サイズ(つまり_64)があります。

LinkedinのURLには、さまざまなサイズを有効にするためのサイズ変更パラメーターがあり、その後に私が知らない他のパラメーターが続き、その後に一意のIDが続くようです。

Facebookにはファイル名を生成するための3つのuniqueidがありますが、静的ファイルを高速に提供できるように、これを再度実行すると思います。そのうちの1つはアルバムID、1つはプロファイルID、最後は画像IDだと思います。

于 2012-09-07T12:40:01.510 に答える
1

複数の理由が考えられます。

  1. アンチマイナー
  2. セキュリティトラフのあいまいさ
  3. 生成された UID
  4. サイズやピクセルなどの追加情報

あなたが 5 文字の ID を使用していることを知っていたらどうなるか想像してみてください。私はあなたのサーバーに可能なすべての ID をロードし始め、ユーザーからすべての写真を完全にマイニングします。

多くのトラフィックが発生します。ユーザーは、プライバシーを保護していないことであなたを訴えるでしょう。

たとえば、ユーザー「userone」のようなパスのハッシュ アルゴリズムは「1236662231」になり、それをパスとして使用することをお勧めします。これにより、他のユーザーが実際のパスを理解するのが難しくなり、Web サイトをマイニングしなくなります。情報と写真。

于 2012-09-07T12:41:02.687 に答える
0
  • URLには、画像ID、アルバムID、またはユーザーIDを含めるか、タイムスタンプを付けることができます(画像が同じ名前でキャッシュされないようにintで)
  • Facebookのコンテンツ配信ネットワークのためにドメインは複雑です。それはakamaihdであり、他の人とは異なる場合があります...
于 2012-09-07T12:38:56.337 に答える
0

写真が保存されると、通常はその GUID が生成されます。

GUID は、数字、文字、および記号で構成されます。それらは通常十分な長さであるため、十分な量の画像を保存できます。それらも一意であるため、画像サイズとユーザー ID だけでは十分ではありません。

多くの場合、GUID はアップロード時間に基づいて生成されます。ユーザー ID とともに、これにより一意性が保証されます。

于 2012-09-07T12:35:50.543 に答える