クライアント側にデータを保存したい。Cookie は私の最初の傾向ですが、リクエストごとに送信されますよね? データを転送せずに保存する方法はありますか? リクエストごとに 10 ~ 20k のオーバーヘッドを追加したくはありません。唯一の代替 HTML 5 webstorage はありますか? また、それを採用しているブラウザーはいくつありますか?
4 に答える
html5 ストレージは広く展開されています
HTML5 STORAGE SUPPORT
IE FIREFOX SAFARI CHROME OPERA IPHONE ANDROID
8.0+ 3.5+ 4.0+ 4.0+ 10.5+ 2.0+ 2.0+
いいえ、リクエストごとにすべての Cookie が送信されるわけではありません。Cookie が存在するかどうかを確認し、存在しない場合は作成し、存在する場合は読み取ることができます。Cookie は、少量のデータを扱う場合に適したクロスブラウザー オプションです。
http://fsojs.comはクライアント側の堅牢なファイル ストレージをサポートしていますが、現時点では Chrome でのみ動作します
おっしゃるように、Cookieはオプションであり、HTML5仕様のWebストレージも同様です。Flashを使用してデータを保存する機能もあり、このデータは同じマシン上の複数のブラウザー間で保持されるという追加の利点がありますが、Flashを使用していないユーザーにはフォールバックが必要になるという欠点があります。
個人的には、サーバー上にデータ(セッションIDまたはCookieで識別される)を保持するのが私の方法です。データを制御でき、ユーザーがキャッシュをクリアしたり、マシンを切り替えたりしたときにデータが失われることを心配する必要はありません。 /devices。また、ブラウザの機能やプラグイン(おそらくCookie以外)に依存しないため、最もフォールトトレラントです。
もう1つ、上記のすべて(Cookie、フラッシュ、Webストレージ)を使用するクライアント側のデータストレージの抽象化を探している場合は、Evercookieをチェックしてください。