diéta-statikus-patak
Statikus fájlokat szolgáltat a Diet.js streaming objektumokon keresztül
Telepítés
Használat
## Dokumentáció A Diet-static-stream használatához több lehetőség is megadható
elérési út [String] - kötelező
Útvonal, ahol a diet-static-stream fogja kiszolgálni a fájlokat
index [String | Boolean] - Opcionális (Alapértelmezés: index)
Fájlnév, amely akkor nézhető meg, ha a kérelemben nincs megadva kiterjesztés
ha az érték logikai érték, akkor az indexfájlt alapértelmezettként keresi, ha igaz, ellenkező esetben ha hamis, akkor nem keres automatikusan indexfájlt
defaultExtension [String] - Opcionális (Alapértelmezés: html)
Kiterjesztés, hogy megnézze, ha nincs kiterjesztés a kérelemre
cache [String | Function] - Opcionális (Alapértelmezett: max-age = 3600)
A vezérlő-gyorsítótár értéke a fejléc válaszában beállítandó, ha a funkció meg van adva, akkor az összes kérést ezen a függvényen hajtják végre, átadva a $ jelet, ha a függvény hamis értéket ad vissza, akkor a gyorsítótár összes szükséges fejlécét kizárják
scriptName [Logikai érték] - Opcionális (Alapértelmezés: hamis)
Szükség van-e kiterjesztési fájlra a kérelemnél, ha a true defaultExt és index opciókat figyelmen kívül hagyják
horog [Object] - Opcionális
Ha kérésre horgokra van szükség, ez hasznos az egyéni fejlécek beállításához vagy bármilyen más szükséges módosításhoz. Ez a tulajdonság egy bizonyos folyamatban végrehajtott események térképe
kérés [Funkció] ($: Jel) - Opcionális A kéréshorog éppen akkor hajtódik végre, amikor a modul elindul, a fájl keresése előtt a $ jel a közbenső programtól kapott kérés válasza
siker [Funkció] ($: Jel, fejlécek: Objektum, Fájl: Objektum) - Opcionális A sikeres kampány a fájl sikeres megnyitása után kerül végrehajtásra, ez a függvény a $ jelet, a fejléceket, mint alapértelmezett fejléceket injektálja a megtalált fájlhoz, és a fájlt mint objektumot, amely tartalmazza az adatfolyamhoz használt tulajdonságot
fail [Funkció] ($: Jel) - Opcionális A hibakód akkor kerül végrehajtásra, amikor a kért fájlt nem találták, közvetlenül a 404 válasz előtt a $ jelet a köztes program adja át
gyorsítótárazott [Funkció] ($: Jel) - Opcionális A gyorsítótárazott kampány akkor kerül végrehajtásra, amikor a kért fájlt megtalálták, de az utolsó kérés óta nem módosították, így a válasz 304 lett, a $ jelet a köztes program adja
Összehasonlítás összehasonlítással
Amint azt korábban kifejtettük, mind a diet-static, mind a diet-static-stream ugyanazt a célt éri el a statikus adatok kliens számára történő elküldésében, az adatoknak az ügyfél számára történő elérhetővé tételéhez szükséges idő miatt, és 2 fázist hajtottak végre:
Az idő megoldása Az idő megoldása azon alapul, hogy a kiszolgáló mennyi idő alatt elérhetővé teszi az adatokat és megkezdi az ügyfeleknek való elküldést. Ezt a folyamatot a console.time () használatával hajtották végre, mielőtt a modul elkezdte betölteni a fájlt. amikor a modul küldeni kezd.
Válaszidő A válaszidő azon alapul, hogy az ügyfél mennyi ideig várja meg, amíg a kiszolgáló megkezdi a kért adatok fogadását, ez a várakozási időtől és leginkább a szerveren töltött idő megoldásától függ, ezt a folyamatot a cURL parancs használatával érték el.
A teszteket hamis fájlokkal hozták létre, amelyeket a fallocate készített Linux-on, a teszteket ezzel a specifikációval hajtották végre:
- Operációs rendszer: Linux/Debian Ubuntu 16.04 x64
- CPU: Intel Core I5 3.30GHz
- RAM: 4gb x 2 1600mhz
- HDD: 256 GB 7200 fordulat/perc
Mi a különbség az étrend-statikus és ez között?
A válasz egyszerű, az étrend-statikus az fs.readFile fájlt használja, és a node.js API dokumentumai szerint a fájl teljes tartalmát beolvassa, ami azt jelenti, hogy egy fájl összes adata ideiglenesen a memóriában van tárolva, ez jó, ha csak kis méretű fájlokat olvas.
De mi történik, ha olyan kiszolgálón használja, amely több száz médiafájl iránti kérelmet tartalmaz, ez a kiszolgáló túlterheléséhez és összeomlásához vezethet.
Ez a csomag adatfolyam-objektumokat használ adatdarabok küldéséhez olvasás közben, ez nem tölt be adatokat a memóriába, és több száz kérés esetén elkerülhetjük a memória túlterhelését
## Test A modult a következő parancsok végrehajtásával tesztelheti:
- Őssejt-cukorbetegség kezelési csomag Kijevben, Ukrajnában 10 000 dollártól; PlacidBlog
- Olvassa el a címkét - Kalória adagonként vagy csomagonként HealthCorps
- Csomag - diétás-statikus
- Sütőben sült padlizsán (padlizsán) Recept Ón eszik
- Szeptemberben újítsa meg újévi fogadalmát