フロントとサーバーサイドのどちらでデータを絞り込むべきか
現在 React、Railsでwebアプリケーションを作成しながら学習中です。
タイトルの通りなのですが、データを絞り込んで使用したい場合に、
1、バックエンド側で絞り込みを行い、フロントで表示する方法
と、
2、バックエンドからある程度必要なテーブルの情報全てを受け取ってstateとして管理し、必要に応じてフロント側で絞り込みを行うの方法
とどちらがパフォーマンス、セキュリティの面で良い選択とされるのでしょうか?
調べながらそれぞれの方法について以下のように考えました。
1、
データ量が多い場合にはフロント側よりも処理が早い。
複数の条件で絞り込む場合返すデータの条件が増えるのでフロントとの通信回数が増えてしまう。
2、
stateで管理したデータを好きなようにその都度絞り込んで使用したり、propsとしてデータを受渡してい句ことができるのでバックエンドとの通信回数を減らせる。
データの量が多くなったときに動作が重くなる可能性がある。
不必要な情報をフロントに預けるとセキュリティ的に危険がある。
デメリットを見ると1の方がいいのかなと思うのですが、通信回数が増えることでの速度低下と、1の方が描くコードが増えるような気がして悩んでいます。
自分で調べた結果だといまひとつしっくりくる結論に至れなかったので、ご指摘や解説いただけると大変ありがたいです。