nginx 1.17.8 рдФрд░ njs 0.3.8 рдХрд╛ рд╡рд┐рдореЛрдЪрди

рдмрдирд╛рдпрд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд░рд┐рд▓реАрдЬ nginx 1.17.8, рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рдирдИ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд╣реИ (рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдорд░реНрдерд┐рдд рд╕реНрдерд┐рд░ рдореЗрдВ)ред рд╢рд╛рдЦрд╛ 1.16 рдХреЗрд╡рд▓ рдЧрдВрднреАрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди:

  • рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЬреАрдЖрд░рдкреАрд╕реА_рдкрд╛рд╕ рдХрд┐рд╕реА рдкрддреЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдердиред рдпрджрд┐ рдкрддрд╛ рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдирд╛рдо рд╡рд░реНрдгрд┐рдд рд╕рд░реНрд╡рд░ рд╕рдореВрд╣реЛрдВ рдХреЗ рдмреАрдЪ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдпрджрд┐ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдПрд╕рдПрд╕рдПрд▓ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реЛ рд╕рдХрддрд╛ рдерд╛;
  • рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдбрд┐рдмрдЧ_рдкреНрд╡рд╛рдЗрдВрдЯ HTTP/2 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордпред

рд╕рд╛рде рд╣реА рдЗрд╕реЗ рдиреЛрдЯ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдореБрджреНрджрд╛ рдПрдирдЬреЗрдПрд╕ 0.3.8nginx рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛ред рдПрдирдЬреЗрдПрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рдирдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ, рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ, рдпрд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдЯрдмреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирдИ рд░рд┐рд▓реАрдЬрд╝ nginx рдореЙрдбреНрдпреВрд▓ рдореЗрдВ r.subrequest рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдорд┐рд╕ рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рддреА рд╣реИ рдФрд░ r.parent рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рддреА рд╣реИред рднреА:

  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╡рд╛рджрд╛ рд╕рдорд░реНрдерди;
  • рдЯрд╛рдЗрдк рдХреА рдЧрдИ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
  • ArrayBuffer рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдерди;
  • рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рддреАрдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
  • JSON.stringify() рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ object.is();
  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ object.setPrototypeOf();
  • рдПрдХ рд╢реВрдиреНрдп рд╕рдВрдпреЛрдЬрди рдСрдкрд░реЗрдЯрд░ (рдХреЛрд▓реЗрд╕рд┐рдВрдЧ);
  • рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ.getPrototypeOf() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.рд╡реИрд▓реНрдпреВрдСрдл() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • рдЧреИрд░-рдореБрджреНрд░рдг рдпреЛрдЧреНрдп рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде JSON.stringify() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛
    рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд╛рд░реНрдп;

  • рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рд╢реНрдЪрд┐рдд "рдЗрди" рдСрдкрд░реЗрдЯрд░;
  • рдХреЗ рдЕрдиреБрд╕рд╛рд░ object.defineProperties() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛
    рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд╕рд╛рде;

  • рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯ.рдХреНрд░рд┐рдПрдЯ() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • рдлрд╛рд╕реНрдЯ рдореИрде рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ Number.prototype.toString(radix) рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
  • RegExp() рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЧреБрдгреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ