今でも数日に一度はサイトやブログを弄っている。

そう、すべてはより良いWEB体験のため!

というより、俺の自己満のため……(あれっ)

まあ、利用者が気付くレベルの変化はめったに表れないけど。

友人が髪を切ったことによく気付くタイプの人なら……

冗談はさておき、今回は、このブログがHTTPSによる接続に(たぶん)対応したって話と、むしろなぜ今まで対応してなかったのかって話を。

HTTPSとは

SSL(Secure Sockets Layer)やTLS(Transport Layer Security)によって暗号接続するプロトコルのこと。

これらはいずれも、WEBサーバーとクライアント(ブラウザなど)の間の通信を暗号化して行う規格だ。

大手のサイトのログイン認証や、ネットバンキングサイトなどの機密情報を扱うページで使われる。

こういうページはURLが「https」で始まっている。

一方、通常の(平文接続の)ページはURLが「http」で始まっている。

あなたが今見ているこのページのURLは「http」で始まっているのではないだろうか。

こんなブログに暗号化は必要ないもんね。

WordPressの仕様

ところが、我らがWordPress様(もしくはホスティングサービスのXdomain様)はこのページのURLの「http」を「https」に書き換えても、普通に表示しやがるのだ。

※メインサイトはHTTPSでアクセスされると「404 Not Found」エラーを返します。

いや、いいんだけど……無駄だけど……

これまで、このブログはSSLでアクセスされると不都合だったのだ。

ブラウザの仕様

いつからかFirefox(そしておそらく他のブラウザも)では、HTTPSなページの中にHTTPSじゃないリソース(CSSなど)が含まれていると、そのリソースをブロックするようになった。

つまり、CSSがブロックされるとページの表示に著しい影響が……

で、このブログではCSSはメインサイトと共通なため、メインサイト側のCSSを読み込む方式をとっていたのだが、メインサイト側でHTTPSが使えないため、URLは「http」を使っていた。

※Xdomainは画像の外部読み込みを禁止してるけど、CSSの外部読み込みは許容してるようだ。

この状態でブログにHTTPSでアクセスすると、上記の状況にバッチリ当てはまってしまっていたのだ!

つまり、文字は見えるけど表示がおかしい。

もう、やだなぁ……みんな……

さて、実際にこのブログがHTTPSでアクセスされてしまう状況が、故意の場合を除いてはたして生じうるのか、という疑問はさておき。

そして対応へ……

このままでは気持ち悪いので、対応できるものは対応することにした。

ブログ側をHTTPSによるアクセスを禁止にする方法もあるけど、やり方は見当もつかない。調べてもないけど。

解決法はいたって単純、共通のCSSをブログ側に置けばいい。

WorsPress内ではアクセスされたほうのプロトコルでPHPの出力を統一するらしいので、HTTPSでアクセスされた時はCSSのURLを「https」にしてくれる。

そして、メインサイトではブログ側のCSSを読み込むようにする。

メインサイトでは「http」のURLを指定しておけば、いつも問題なく読み込める。

やったねれいぶちゃん!

メインサイトの全ページを変更する手間はかかったけど。

まとめ

これからはこのブログもHTTPSでアクセスしても大丈夫!

実用上の意味があったかどうかは疑問だけど! ね!

……ニコニコのコミュニティのiframe(ページ右上のTwitterタイムラインの下の黒っぽい部分)を読み込まないことを除き(HTTPだから)。

まあ、いらないよね?

いや……こんな些細な問題に対処する手間をかけたくは、正直ない……

研究してみるか。