ブラウザサポート

Remix は、ES モジュール をサポートするブラウザでのみ動作します。

通常、チームは、この質問をする際に IE11 のサポートを懸念しています。マイクロソフト自身も、Web アプリケーション向けのこのブラウザのサポートを終了しました。おそらく、あなたにとってもそろそろサポートを終了するべきでしょう。

しかし、プログレッシブエンハンスメント の強力なサポートのおかげで、Remix アプリは Netscape 1.0 ほど古いブラウザもサポートできます!Remix は、HTML、HTTP、およびブラウザの動作という Web の基盤に基づいて構築されているため、これが可能になります。Remix の慣例に従うことで、アプリは IE11 で基本レベルで動作しながら、最新のブラウザでは高度にインタラクティブな SPA エクスペリエンスを提供できます。この実現には、それほど労力は必要ありません。

仕組みは次のとおりです。Remix の <Scripts/> コンポーネントは、次のようなモジュールスクリプトタグをレンダリングします。

<script type="module" src="..." />

古いブラウザは type を理解できないため、このタグを無視します。そのため、JavaScript はロードされません。リンク、ローダー、フォーム、アクションは、HTML、HTTP、ブラウザの動作という基盤に基づいて構築されているため、引き続き動作します。最新のブラウザはスクリプトをロードし、高速な遷移やアプリケーションコードによる強化された UX を提供することで、SPA 動作を強化します。

Remix は CSRF 保護を実装していますか?

Remix の Cookie はデフォルトで SameSite=Lax に設定されており、これは CSRF に対するプラットフォーム組み込みの保護です。SameSite=Lax をサポートしていない古いブラウザ(IE11 以前)をサポートする必要がある場合は、CSRF 保護を自分で実装するか、CSRF 保護を実装しているライブラリを使用する必要があります。