Firefoxの「修復不能なネットワークプロトコル違反が発生」するエラー

Firefox関連
firefox57
スポンサーリンク

Firefox 80 あたりから、一部で「~のウェブサイトで修復不能なネットワークプロトコル違反が発生しました。」というエラーが発生する件の対応方法です。

 

この不具合はバージョン81.0.2で修正されました。
下記の対策を行う前に、まずはバージョンアップして確認してみましょう。

症状

例えばtwitterであれば、次のようなメッセージが表示される。

リクエストを正常に完了できませんでした
https://twitter.com/ のウェブサイトで修復不能なネットワークプロトコル違反が発生しました。
このページは、データの伝送中にエラーが検出されたため表示できません。
ウェブサイトの所有者に連絡を取り、この問題を報告してください。

対策

対策1

修正するためには、下記の手順で「serviceworkers」から問題の出ているサイトに関する情報を削除します。

  1. Firefoxで「about:serviceworkers」を開く
  2. 「登録された Service Workers」としてズラズラっと何かが表示される
  3. 問題の出ているサイト(ここではtwitterとする)を探す
  4. 「オリジン: https://twitter.com」と表示されている段の一番下に「更新」「登録解除」というボタンが並んでいるので、「登録解除」を押す

以上です。Firefoxの再起動が必要な場合があるようです。

問題の出ていたサイトにアクセスすると正しく表示されるはずです。

対策2

この対策2は、上記対策1だけでは少しすると再発するなど、エラー解決ができない場合の根本的な対策です。

・対策1のみでエラー回避できれば、対策2は必要ありません。また対策1を行った上で、対策2を行うようにしてください。
この対策2は、何らかの重大なエラーや閲覧障害を発生させる可能性があります。
・またすぐに影響が出なくとも、将来的に何らかの障害が発生する可能性が高い変更であることを認識し、変更したことをしっかり覚えておくようにしましょう。
  1. 上記、対策1を行う
  2. Firefoxで「about:config」を開く
  3. ”dom.serviceWorkers.enabled”で絞り込む
  4. ”true”であれば、”false”に変更する
  5. Firefoxを再起動する
要するに、serviceworkersを今後追加しないようにする設定です。serviceworkersとは何ぞや?という方は以下を確認しておきましょう。

serviceworkersとは?

念の為、作業した仕組みの概要について理解しておきましょう。

サービスワーカー(serviceworkers)とは、「プログレッシブウェブアプリ(PWA、Progressive Web Apps)」と呼ばれる新しい仕組みを構成する技術要素です。

この仕組みを利用することで、Webサイトで高速な表示やオフライン操作を可能とします。いわば新しい高度で安全な仕組みのキャッシュエリアを提供することで、Webページでアプリのようなサービスが提供できると思えば良いでしょう。

プログレッシブウェブアプリ | MDN
https://developer.mozilla.org/ja/docs/Web/Progressive_web_apps

そしてFirefoxブラウザで、現在管理しているサービスワーカーを表示するアドレスが「about:serviceworkers」だというわけです。

ちなみにChromeブラウザの場合は「chrome://serviceworker-internals/」になっています。

今回、主にエラーの発生しているtwitterでは、何らかの原因でこのサービスワーカーの制御がうまく行っていないようで、あちこちでこのエラーに遭遇している方がいるようです。仕組み的にはキャッシュのようなものであるため、不具合が出ているようなら削除すれば次回アクセス時に再構築されることで初期化できるということになります。

 

Bugzilla

1665368 – Strict tracking protection breaks fetches from previously installed twitter.com ServiceWorker

タイトルとURLをコピーしました