И така, да речем, че пиша уеб сървър и искам да поддържам "много големи" качвания на файлове. Нека допълнително приемем, че искам да направя това чрез стандартния MIME тип multipart/form-data. Трябва да кажа, че използвам erlang и че планирам да събирам http пакети, докато се връщат от erlang:decode_packet/2
, но не искам всъщност да събирам тялото на заявката, докато манипулаторът на http заявки не намери място за каченото съдържание. Трябва ли аз
а) продължете и съберете тялото така или иначе, като игнорирате възможността то да е много много голямо и по този начин евентуално да срине сървъра поради изчерпване на паметта му?
б) да се въздържат от получаване в сокета на всяко (евентуално несъществуващо) тяло на заявка, докато заглавките не бъдат обработени?
в) направи нещо друго?
Пример за отговор c може да бъде: създаване на друг процес за събиране и запис на качено съдържание на временно местоположение (за да се сведе до минимум използването на памет), като едновременно с това се предоставя това местоположение на манипулатора на http заявки за бъдеща обработка. Но просто не знам - тук има ли стандартна техника?