from :: Asahikawa Hokkaido

passer-by198

primetime pencil

2014/08/22


Posted

Bloggerで外部ファイル化している構成要素の「DNS lookup」と「query strings」の問題についての考察

概要


此処のところ…リッチコンテンツを使用している…

Blogger でも…ページ読み込み速度を維持しつつ…

「Page Speed」や「YSlow」で高スコアを叩き出す

…をコンセプトに…様々なチュートリアルを書いてきました…

重要度の高いであろうものを幾つか置いておきます…

 Blogger用の外部ファイル保存場所として「GitHub」の「GitHub Pages」を活用しよう

 「js」「css」を「GitHub」で外部ファイル化した場合のキャッシュ問題を「RawGit」の「CDN」で解決

 「HTML」の問題点「inline css」「comment out」「未使用の条件分岐」

 外部「css」によるレンダリングブロックを回避するために「js」と非同期読み込みさせるコード


しかしながら…「Blogspot」ドメインでも…ここまで出来るのか

…などという賞賛を浴びる事はありませんし…勿論…

先生から…是非とも公式テンプレートに採用したい

…などと打診があるわけでもありません… ( ̄ー ̄) 邪笑®

あくまでも…テンプレートのカスタマイズは趣味の一環…

…的なスタンスで…楽しみながらやりましょう…

趣味なのですから…こだわりを持って徹底的に…ってな訳で…今回は…

全くもって地味な…「query strings」と「DNS lookup」の問題に関する考察です…

当然ながら…過去記事で書いてきた…PageSpeed Insights

…の「Caution」の方が優先順位は上ですから…

少なくとも…7個程度のルールに合格して…

こんな感じで表示されるようになってからの…

オマケ的な話です…

先ずは… Blogger の画像ポップアップの問題点を手がかりに検証してみましょう…

Blogger の画像ポップアップの問題点


画像を「左」…サイズを「小」…で選択すると…
<div class="separator" style="clear: both; text-align: center;"><a href="オリジナルサイズの画像「URL」" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="サムネイルサイズの画像「URL」" /></a></div>
…ってなかんじの「HTML」が出力されます…画像「URL」はそれぞれ…

 //ドメイン名/画像の固有「ID」/s1600/画像名.画像の拡張子
 //ドメイン名/画像の固有「ID」/s200/画像名.画像の拡張子

…で…ドメイン名は同じで「s1600」「s200」が画像サイズです…

問題は…サムネイル画像のサイズ「s200」ですね…

コレね…例えばオリジナルサイズの画像が「800 x 400」だとすると…

サムネイル画像を「100 x 50」にする場合「s100」に変更する訳ですね…

「height="…"」「width="…"」の記述は任意ですが…

各種…読み込み速度の計測ツールでは…記述を推奨されたりもするので…

「height="50"」「width="100"」を記述して「s200」の部分を変更し忘れると…

「200px」の画像を読み込んだ後に「100px」の画像を読み込んでしまう…

「地味」なリダイレクトが発生してしまうので注意が必要です… σ(^_^;)

超レアケースはさておき……複数の画像をアップロードすると…

 1.bp.blogspot.com
 2.bp.blogspot.com
 3.bp.blogspot.com……などなど…

複数のドメイン名が割り当てられたりして「DNS lookup」に関わってくるので…

これが…語られることは皆無ですが…本質的な大問題です…

「DNS lookup」に関する考察


画像が多いチュートリアルなどのページでは…

上記のように…ドメイン名は選べませんから…

■YSlow
Reduce DNS lookups
The components are split over more than 4 domains

…などと叱られる事になります…どういう事かというと…

4個を超えるドメイン名があるので「DNS lookup」的にダメだよ

…ってな感じです…しかしながら一方で…

「css」「js」はスプリットして外部ファイル化しないと高スコアは望めません…

つまり…実質的には…「2」「3」「4」個の範囲に収めなさい

…と言っているのと同義なのです…全くもって理不尽な言い分なのですが…

Blogger が対処するとは到底思えませんね……私の場合は…
  • Blogger の「blogspot」
  • 「Webフォント」のアイコン用の「Font Awesome」
  • 「css」「js」をホストしている「GitHub」用の「RawGit」の「CDN」
…で…リダイレクトが発生する「.com」アドレスだと…4個ですし…

「.jp」アドレスでアクセスしたとしても…3個のドメイン名はマストです…

なので…削除してはいますが <b:include name='quickedit'/> で呼び出される…

ガジェット編集用のレンチアイコン「Wrench」に代表される…

テンプレート内は勿論ですが…外部ファイル化した「css」も…

イメージ画像は全て「base64」変換か「CSS Sprites」で記述しています…

因みに…「CSS Sprites」の画像も…勿論…「base64」変換です…

つまり…徹底的に「HTTP リクエスト」を排除する必要がある訳です…

記事ページはどうする…ってな疑問もあるでしょう…

上記「Blogger の画像ポップアップの問題点」での…

サムネイル画像は…全てページレンダリング時に読み込まれる訳ですから…

それぞれで「HTTP リクエスト」が発生し…レンダリングをブロックします…

なので…当然ながら…全て…「base64」変換すべきです

特に…チュートリアルでのサムネイル画像は判読出来なくても無問題です…

記事を書き終えてから「base64」の生データに書き換えれば…

記事作成の邪魔にもならない事でしょう…

「query strings」に関する考察


コレね…重要度は高いんですが…結論は出ていません…

■Page Speed
Remove query strings from static resources
Resources with a "?" in the URL are not cached by some proxy caching servers. Remove the query string and encode the parameters into the URL for the following resources:

所謂…「URL」に「?」が入っているとキャッシュが使えない場合があるよ

…ってヤツです…サードパーティ製のスクリプトでよく見かける…

 …feeds/posts/default?…
 …feeds/posts/summary?… などなど…に続くパラメータ…

…が…典型例です…私が…「Related Posts」「Recent Posts」を…

微塵の躊躇いも無く…削除してしまった事由でもあります…

しかしながら…リッチコンテンツ好きですから…

リッチコンテンツを維持するためのアイテムには…目をつぶっています…

「Font Awesome」の「css」の「……woff?v=4.1.0」です…

「概要」に置いてある前記事の非同期読み込みさせるコードの不具合なのか

一般的な「URL」の記述…つまり…

「Font Awesome」
 //maxcdn.bootstrapcdn.com/……
「RawGit」
 //cdn.rawgit.com/……

…と…「」や「https:」を記述していませんが…

「RawGit」で吐き出される「URL」は「https:」を付与されていますので…

 https://cdn.rawgit.com/…… と記述すると…

何故か…「Font Awesome」の「?」に対する「Caution」が解決されます…

意味が解らん……ただし…読み込み速度は低下しますので…

保留 …ってな感じで…一般的な「URL」の記述を継続しています…

GitHub」にホストして「RawGit」で呼び出す事も出来ますが…

「MaxCDN」の方が速いので…むにゃむにゃむにゃむにゃ

まぁ…浅い知識でやっていますから…たぶん…解決しません…( ̄^ ̄) エッヘン

おわりに…


WordPress」や「独自ドメイン」に目が眩み…

迷走を続けるサイト管理者の…なんと多い事か…

コラム系ならいざ知らず…モッサリなサイトというだけで…

チュートリアルの整合性すら怪しくなりますね…

そもそも…サイト高速化の記事自体が…ほぼ…いい加減な記事だらけですね…

速度測定サイトが…○○○と言っていますから改善すれば速くなります…的な…

アホウかと疑いたくなる記事とも呼べない代物ばかりです…

WordPress」では…更に意味不明で…

プラグインで重たくなったサイトを高速化するプラグイン…的な…

魔法か魔法なのか …と叫びたくなりますね… ( ̄-  ̄) 冷笑®

具体的な解決策が皆無だったり…根本的な解決じゃなかったり…

そのくせ…上位に表示されようと血眼になっているのが透けて見えますね…

先生に高速化について尋ねると「 WordPress」ばかりゾロゾロと…

裏を返せば…「 WordPress」は遅いと言っているようなものです…

安直な近道など存在しませんよ……せめて…

数少ない購読者の方々は…惑わされませんように…

以上です…最後までお読みいただきましてありがとうございます…


0 Comments :

Post a Comment :: Click!!

コメントを投稿

 ■Sponsored Link

韓国大統領 月山明博(李明博)の…天皇陛下への「不敬発言」
痛惜の念などという単語一つを言いに来るのなら、来る必要はない。
日王は韓国民に心から土下座したいのなら来い。
重罪人にするように手足を縛って頭を足で踏んで地面に擦り付けて謝らせてやる。
重罪人が土下座もしない、言葉で謝るだけならふざけた話だ。
そんな馬鹿な話は通用しない。
それなら入国は許さないぞ。
偽左翼マスメディアの情報操作手法
手法 用例 手法 用例 手法 用例 手法 用例
連想の創出 愛国者に対して「軍靴の音が聞こえそうだ」などと揶揄し否定的な印象を与える… コメント 人々を一定の方向に誘導するために「事実とは異なる解釈」をコメントさせたり「社説」にする… プレゼンス効果 現場からの中継や縮小ジオラマなどで「臨場感」を演出し「やらせ」も交えて信用されやすくする… 分類表 一部の「ネット右翼」が批判しています…のように決まった単語・フレーズで事象を分類して極小化・極大化する…
撹乱 「第三極も含めて政党が乱立して訳が分かりません…」などと連日「情報ノイズ」で溢れさせ興味自体を失わせる… 癒着提案 TBS「安倍官房長官印象操作映像事件」のように「個別の事実」を「継ぎ接ぎ」して「誤った印象」を植え付ける… 匿名の権威 「信頼すべき消息筋によれば…」のように情報元を明かす必要がない事を逆手に取り記事の内容に権威を与える… 日常会話 お隣の「韓国」では…のように本来否定的な要素「韓国」を日常会話のように繰り返し心理的習熟効果で反応を麻痺させる…
感情共鳴 コンサートで開催場所の地名を大声で繰り返し叫ぶ…などのように「デモ」「集会」などで群集を理性ではなく感情レベルで反応させる… 歴史の書き換え 民主党の「天皇制廃止」「戸籍法廃止」「夫婦別姓」などの愛国心を低下させるための国家・民族全体に対する長期的な情報操作… 感情整列 この時間にご覧になっている貴方だけに限定100セットだけ…などと「一定のシチュエーション」を用意して群集の感情を「均一化」させる… 一次効果 「朝日新聞の従軍慰安婦捏造問題」「iPS細胞での読売新聞大誤報」など「最初に発信された情報」は嘘でも捏造でも信用されやすいという原理…
ブーメラン 坂本龍一・山本太郎などの著名人を使い原発管制報道に対する「自由の闘士」を作り出し国力を削るために「愛国者」を装った抗議運動を展開する… 心理的ショック 日本は豊かなのだと錯覚させ更に絞り取るために「飢餓」を伝え…日本は悪い事をしたと日本人を自虐的に思い込ませるために繰り返し「戦争」を伝えます… 半真実 「マニュフェストが実現出来なかったのは自民党の負の遺産のせいで民主党がダメだった訳ではない…」のように嘘の中に一面的な真実を織り込み全体を真実に見せる… フィードバック 「支持政党無しの無党派層は過去最高」という結果を得るために世論調査の回答項目に「民主党もダメだけど自民党もダメ」という項目を設定し全体の意見に偽装する…
すり替え 「傷害」を「いじめ」「窃盗」を「万引き」「殺人事件」を「交通事故」「テロリスト」を「レジスタンス」「略奪事件」を「抗議デモ」など受け入れ易い言葉に置き換える婉曲手法… 脅威の創出 尖閣購入時に「中国の脅威」は民主党政権以降に尖鋭化していたにもかかわらず恰も「都知事発言以降に尖鋭化した」かの如く捏造し民主党には他に選択肢は無かったと責任転嫁… 社会的同意 首相の靖国参拝に「外国」から激しい反発が起こっている…などと…特定アジアだけの意見を恰も世界全体が同意していると錯覚させる…「人権擁護法案」「外国人参政権」などもこの手法… 側面迂回 民主党の原発事故対応では線量などの周辺情報は正確に報じられ枝野幸男の「直ちに健康に影響を及ぼすものではない…」の嘘の信憑性を高めメルトダウン・風向きなどの核心部分は隠蔽された…
虚偽類似 「視聴率低迷は若者のテレビ離れのせい…」「CDが売れないのは違法ダウンロードのせい…」「紅白歌合戦に韓流スターが出演できないのは日本の右傾化のせい…」など都合の良い「原因と結果の因果関係」を作り出す… 事実確認 原発安全神話を作り出したのも公共事業にジャブジャブ税金をつぎ込んだのも自民党です…など…「一面的な事実」を先に述べ「事実確認」させ…自民党政権に逆もどりして良いんですか?…と未来を誤認・錯覚させる… 毒入りサンドウィッチ 「白川総裁が自民党の経済政策を批判」「安倍総裁の経済政策発言を市場が好感し円安に振れ株価は年初来の高値」「一方でハイパーインフレを懸念する声も」…のように序文と結論の否定的報道で肯定的な報道を挟み肯定的な報道の意義を低下させる… 砂糖入りサンドウィッチ 毒入りサンドウィッチの逆の手法…
  偽左翼マスメディアの情報操作手法
偽左翼マスメディアが日本人には絶対に伝えない真実
■イラクでの自衛隊に対する前代未聞の「感謝デモ」
(サムネイル画像のクリックで動画がポップアップ)

当時自衛隊叩きに躍起になってたメディアの
捏造・隠蔽から目覚めよう
誇りある日本の再生のために
「jQuery」と「jQuery UI」で HTML に彩りを添えよう…

「導入」「Button」「Accordion」「Tabs」「Effects/Slide」
「Progressbar」「Dialog」「Tooltip」「Menu」 「Extra」 / 公式「Widgets」以外の「jQuery UI」スクリプト
Blogger Template Customize Universal / INDEX
Blogger テンプレート・カスタマイズ / 全般を解説
高速化・最適化対策の結果と備忘録
Scroll Top