FC2ブログの【アカマイ】画像表示高速化の仕組み

FC2ブログのあれこれ
2017/05/16
8
vanillaice (Akira)
vanillaice (Akira)
InstructionTips

超いまさらで多くの方はご存知かとは思うのですが。
「アカマイ」って何なの?から始まって仕組みまでを、私のわかる範囲で記そうと思います。
間違ってるところがあればご指摘頂けると助かります ^^;

アカマイ とは

FC2ブログの個別記事下にある広告のこと (´・ω・`)
いや、それは間違いではありませんが、アカマイというのは

Akamai Technologies, Inc. is an American content delivery network (CDN) and cloud services provider headquartered in Cambridge, Massachusetts, in the United States.

Wikipedia

アカマイテクノロジーズ とはコンテンツデリバリーネットワーク(コンテンツ配信, CDN)とクラウドサービスのプロバイダーであり、米国のマサチューセッツ州ケンブリッジに本社を置く企業のことです〟

「アカマイ」というのは企業名なんですね (´・ω・`)
FC2に於ける「アカマイ」はどこで見られるかというと
個別記事の下にあるテキスト広告
がそれにあたります。
この広告のことをイコール「アカマイ」と称していることが多いですが、実際どんな相関図になっているかというと、
ユーザーにはFC2の広告(テキスト広告)を載せる人は画像の高速表示をしてあげますよ
つまり アカマイと提携しているCDNを利用させてあげますよ という意味です。
なるべくわかりやすく言うと、
FC2がアカマイ社と結んでいるCDN契約を、君たちが広告を載せてくれるのならば使用させてあげるよ
ってこと。
なので アカマイ = 広告 ではないんです (´・ω・`)
広告はあくまでもFC2が出してます。
その特典としてアカマイ社のCDNをユーザーに提供します、ってことね。

CDNとは

Content Delivery Network
の略で、これも簡単に言うと
キャッシュを駆使してサーバー負荷を分散させる システムであり、
アクセスする人間にとって最も都合が良いサーバー(距離的に近いサーバーなど)を利用することで素早く情報が引き出せるようにする システム。

画像の原本が置かれているサーバーが一つあります。
でもそのサーバーに何万人もの人が同時にアクセスしてしまったら、ものすごい負荷ですよね。
なかなか表示されない、重たい、といった症状になります。
これを避けるために、他のサーバーに予め原本のコピーを置いておきます。
これがキャッシュです。
各ユーザーがそれぞれ自分に都合の良いサーバーにアクセスし、そこから原本コピーを受け取る。
すると結果的に負荷が分散される、という仕組みです。
ですから
オリジナルサーバー以外からの情報取得は全て原本でなくコピーである
ということになります。

画像URL中の -origin の意味

これは「原本」であり「オリジナルサーバー内の画像」であることを指してます。

【オリジナル用サーバー】
//blog-imgs-サーバー番号-origin.fc2.com/*/*/*/ブログID/ファイル名.拡張子

【コピー用サーバー】
//blog-imgs-サーバー番号.fc2.com/*/*/*/ブログID/ファイル名.拡張子

つまり -origin が付いていないユーザーさんは
テキスト広告を表示させている = CDNの恩恵を受けている
ってことになります。蛇足ですが、
テキスト広告を表示にしている = CDNの恩恵を受けていない
ってことだー (´・ω・`)

有料アカウントを取得されている方については自動的にCDNが適用されます。
画像に -origin の文字列も付きません。

上書きが反映されない理由

アップロードした画像に逐一 -origin が付いている方は問題ないのですが、-originが付いていない場合、今見ているその画像はCDNによる コピー(キャッシュ)画像 です。
書き換わった原本と古い情報コピーとで異なる情報になってしまっているわけです。
キャッシュには期限がありますので、その期限が切れてようやく書き換わった原本のコピーが再作成される。そのタイムラグです。
「何故?」についてはこれが回答になるかと思います。
違ってたら教えて ^^;

対処については以下のサイトさんが参考になるかと思います。

FC2ブログのファイルアップロードで画像の上書きを反映させる方法 | アルペジオのように

FC2ブログのファイルアップロードで画像を上書き保存しても何故か更新されない。そんな時に更新を反映させる方法です。...

別の対処を少しまとめると、アップロード画面を開きますよね、で、そのまま上書きを行います。
大抵の場合は上書きをしてもアップロード済み画像のサムネイルが書き換わっていない状態だと思います。
対象の画像をクリックすると別タブでその画像が開かれます。
ここでも古い画像が出てきますので、その画像をスーパーリロード(Chromeなら Ctrl+Shift+R(Windows)/ Command+Shift+R(Mac))
アップロード画面に戻り、そこでもスーパーリロード。
アップロード済み画像のサムネイルはここで修正されるかと思います。
で、該当記事のページもスーパーリロード。
ともかく至る所でスーパーリロード((((笑)

ただしこれやっても関連記事サムネイルなんかは書き換わりません。
こっちはこっちで何か別の挙動。
マジめんどっちいな

上書きをするな、新規でアップしろ

これは私が常に頭に置いていることですが。
だってその方が確実だもん (´・ω・`)
どうしても上書きじゃないと…。という方だけ試行錯誤してください ←
時には無理したり裏技を探すよりも、根本的な方針を変更する方が正解であることも。
私は上書きは使いません(笑)

Related post

Comments  8

ぼっちん
2017/05/16 (Tue) 13:40

ありがとうございます ^^

私が発したコメントの語句から、こんなにも論理的かつご丁寧な解説記事を書いてくださってありがとうございます ^^
お手間をおかけしました~ m(_ _)m
ファイルの上書きは私も「しないクセ」をつけていて、必ず「別名でアップロード」するようにしてます(笑)
全くの別名ではなくて、末尾に1文字追記してるだけなんですけど(笑)



Akira
2017/05/16 (Tue) 18:18

To ぼっちんさん

いえー。これ以上のことはわかんない。
わかってると思ってるだけで間違ってる可能性も… ^^;

私も上書きは以前に使い「これアカンやつや…。」って気づいてから絶対使わない(笑)

hige
2017/05/16 (Tue) 20:44

上書きするな

やっぱりそうされてるんですね。
以前何回か上書きしてなかなか反映されないので、それからは必ず新規ファイルでアップして変更しています。
年月日+3桁の連番で振ってますので+1後の番号にしています。一記事に99以上の画像を使用することなどないので、
日付が被る時に3桁の最上位桁を増やしていってます。

アカマイの件、そう云うことがあるのですね。
色々奥が深い。キャッシュって自分のPC だけの話ではないんですか。

Akira
2017/05/16 (Tue) 23:52

To higeさん

> キャッシュって自分のPC だけの話ではないんですか〜

そうなんですよー (´・ω・`)
ブラウザ単位でもキャッシュの仕組みや期限があるもので。
FC2リクエストに
「なんで外部参照画像が404なんだ。403が当たり前だろう。」
というのがあるんだけども。
これね、画像検索に関わる件ですが、FC2以外のリファラが付いてたらリダイレクトではじいてるんですよね。
で、通常なら302リダイレクト経由で403(forbidden)というのが妥当なんだけど。
FC2の場合は301リダイレクトから404(not found)。
なんでやねん(笑)
そして301リダイレクトはブラウザがキャッシュしてしまうんですよね。
こちらのキャッシュについてはスーパーリロードでも消すことができないんです。
SSL化に関するページのどこかに「一旦旧アドレスを踏んでリダイレクトしたら、次回から必ずhttpsの方へ行くようになる。」的なことを書きましたが、同じ理屈です。

まぁとにかく、難しいんです ^^;

-
2017/05/17 (Wed) 16:47

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Akira
2017/05/18 (Thu) 17:37

To 諸々の件 内緒さん

なるほど & 了解です (●'0'●)/

素姓乱雑
2020/05/17 (Sun) 08:11

私も試しにアカマイ広告を出してみたことがあるのですが、これが…エラーの宝庫。だけど期限が来ないと消せない。二度と使えないなと思いました。やはり、上書きはすぐに治らないので、文章などは注意しています。

vanillaice (Akira)
Akira
2020/05/17 (Sun) 18:11

To 素姓乱雑さん

こんにちは ('0')/

確かにエラーは多いですよねぇ (´・ω・`)
現在でも表示に乱れ(各高さが異様に大きいとか)があるようです。
ファイル上書きも知らなければ対処できないことなので、運営さんにはもう少し広報に力を入れて欲しい ^^;

コメントに関する注意事項
  • テンプレートに関するご質問は各テンプレート専用記事でのみ受付致します。また、よくある質問をまとめているページも事前にご参照ください。
  • 専門的なご質問の場合、記事内容と明らかに関連の無い内容はお控えください(雑談の場合はその限りではありません)
  • 第三者が不快と感じる内容や論調でのコメントはお控えください(性的,高圧的,暴力的など)