@HmmJakiWybracNick taaaa... nie Nawet tego wyjątku nie powinno być. Kiedyś miałem do czynienia z produktem, który wdrożył taką filozofię, (z głowy) cytując autora: po co będziemy zajebywać nasz serwer tysiącem małych zapytań i potencjalnie go skalować i za to płacić, jak ludzie będą chcieli pobrać csvkę, to niech sobie pobiorą te dane i wygenerują w przeglądarce sami. I na początku tak to wyglądało- ludzie sobie pobierali z bazy przez ORMa co chcieli, małe zapytania, przeglądarka to przez sekundę mieliła, klikali "download" i im ściągało gotowy plik. Prosto, łatwo i przyjemnie.
No- a potem ten sam autor stwierdził, że "czas na rozszerzenie feature setu", ludzie potrzebują czasem szerszego zakresu danych i trzeba zrobić nowy endpoint w api, który robi swoiste "select * from tabela" i wpadł na pomysł, żeby udostępnić możliwość robienia większego dumpu danych z tej bazy. Bez. Żadnych. Ograniczeń. Jak większego? Ano minimum kilkaset mega "większego". W czystym tekście. Efekt? Użytkownik klikał na stronie odpowiedni guzik, przeglądarka zaczynała krzyczeć, komputer zaczynał krzyczeć, elektrownia zaczynała krzyczeć... i w końcu użytkownik zaczynał krzyczeć, bo wszystko przestawało działać i przeglądarka (a czasem i system) zaliczał spektakularną wypierdolkę z rowerka. Autor tego cudownego pomysłu nie mógł zrozumieć, że czemu to nie działało, skoro poprzednie rzeczy działały. Nie rozumiał również pojęcia przeniesienia tego na backend, żeby to nie było rozpierdolone wszędzie bez ładu i składu.