ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ , Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (Π² ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π° ΡΠ΅ Π²Π½Π°ΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ).
ΠΡΠ½ΠΎΠ²Π½ΠΈ :
- ΠΠ°Π±ΡΠ°Π½Π΅Π½ΠΎ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π΄Π° 'Host' Π²
Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°; - ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π΅ Π³ΡΠ΅ΡΠΊΠ°, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ nginx ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅
'Transfer-Encoding' Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°; - ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°ΡΠΈ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅ΡΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP/2;
- ΠΡΡΡΡΠ°Π½Π΅Π½ Π΅ ΡΡΠΈΠ² (segmentation fault) Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ, ΠΏΡΠΎΡΠ²ΡΠ²Π°Ρ ΡΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° OCSP stapling;
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π° ngx_http_mp4_module;
- Π Π΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠ»ΡΡΠ°ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Ρ ΠΊΠΎΠ΄ 494 Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° 'error_page' ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Ρ ΠΊΠΎΠ΄ 494 Π²ΠΌΠ΅ΡΡΠΎ 400;
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΡΠ° ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ Π½Π° ΡΠΎΠΊΠ΅ΡΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π° njs ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° aio.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎ , ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° JavaScript Π·Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° nginx. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡΡ njs ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠΈΡΠ΅ ECMAScript ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° nginx ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΅Π· ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. Π‘ΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°/ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° ΠΈΠ»ΠΈ Π±ΡΡΠ·ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠ»Π°ΡΠΈ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΄ΡΠ»Π° njs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² r.subrequest(). ΠΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΈ ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Ρ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΈ, ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°:
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ API Promises Π·Π° ΠΌΠΎΠ΄ΡΠ»Π° 'fs';
- Π ΠΌΠΎΠ΄ΡΠ»Π° 'fs' ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ access(), symlink(), unlink(),
realpath() ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ; - ΠΡΠ²Π΅Π΄Π΅Π½ΠΈ ΡΠ° ΠΌΠ°ΡΠΈΠ²ΠΈ Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°;
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² lexer;
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠΈ (backtraces).
ΡΠ»Π΅Π΄ΠΈ; - ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ ΡΠ° callback-Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ Π² ΠΌΠΎΠ΄ΡΠ»Π° 'fs';
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π² Object.getOwnPropertySymbols();
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΎ Π΅ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ Π² njs_json_append_string();
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² encodeURI() ΠΈ decodeURI() Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ°;
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² Number.prototype.toPrecision();
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π² JSON.stringify();
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² JSON.stringify() Ρ ΠΎΠ±Π΅ΠΊΡΠΈ Number() ΠΈ String();
- ΠΡΠΈΠ³ΡΡΠ΅Π½ΠΎ Π΅ Π΅ΠΊΡΠ°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Unicode ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² JSON.stringify() Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ°; - ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π° Π½Π΅-ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ;
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² njs.dump() Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° Date() Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
