https://hatena.ne.jp/ にアクセスできてるとお思いで?
   2 min read

はじめに: 試した環境

Windows10 の現時点での最新安定版 Google Chrome および Firefox を用いました。

  • Google Chrome 78.0.3904.108
  • Firefox 70.0.1

また実行に際しては、キャッシュ等の影響を避けるため、Chrome ではゲストモード、Firefox では今回新規作成したプロファイルで確認しました。

やってみよう

Google Chrome の URL バー(Omnibar)に https://hatena.ne.jp/ と入力してエンターを押してみよう!

01hatenatop.png

トップページが表示されましたか?

あちゃー!😣 表示されちゃいましたか!😵

それでは次に Firefox で同じことをやってみます。

02firefox.png

あれ ❔Chrome と Firefox で表示されてるものが違うんですけど ❔❔🤔🤔 どっちが正しいの ❔❔❔😟😟😟

あっあれだ。Google が URL を殺すって言ってたやつだ。Omnibar に殺された URL を掘り返してみれば何かわかるかも!!!(Omnibar のクリックを繰り返しつつ)

03www.png

はい出たーやっぱりねー https://www. 隠れてたーそら Firefox と違う URL なんだから違う内容表示されるわー

ってなんで入力した URL と違うページ表示してんねん

いやいやおつちけそれこそよくある302でリダイレクトさせてるやつやろあれでもじゃあ Firefox がリダイレクトされてないのはなんでなんだ

そうだ DevTools、行こう

はい 302 が出て…

04devtools.png

なーい!なんや “(failed)” て!

(余白)

解決編

いやまあ、DevTools の console を見ればわかることなんですけれども。

Redirecting navigation hatena.ne.jp -> www.hatena.ne.jp because the server presented a certificate valid for www.hatena.ne.jp but not for hatena.ne.jp. To disable such redirects launch Chrome with the following flag: –disable-features=SSLCommonNameMismatchHandling

関連する issue は多分これ:

証明書見てサブドメイン違うかったら勝手に証明書に書いてある方にリダイレクトするよ、という挙動みたいです。

--disable-features=SSLCommonNameMismatchHandling 付けて起動すると Firefox と同じ挙動になります。

05chromeerror.png

まとめ

Google Chrome は、

  • Omnibar がサブドメインを隠す
  • サブドメイン間違ってたら勝手リダイレクトする

という仕様のコンボで、思ってた URL と違うものを表示していることがあります。