nginx 1.17.8 рд░ njs 0.3.8 рдХреЛ рд░рд┐рд▓реАрдЬ

рдЧрдарди рднрдпреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд░рд┐рд▓реАрдЬ nginx 1.17.8, рдЬрд╕ рднрд┐рддреНрд░ рдирдпрд╛рдБ рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рдЫ (рд╕рдорд╛рдирд╛рдиреНрддрд░ рд╕рдорд░реНрдерд┐рдд рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ рез.резрео рдХреЗрд╡рд▓ рдЧрдореНрднреАрд░ рддреНрд░реБрдЯрд┐рд╣рд░реВ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВрдХреЛ рдЙрдиреНрдореВрд▓рдирд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдмрдирд╛рдЗрдиреНрдЫ)ред

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

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

рдердк рд░реВрдкрдорд╛, рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░рд┐рд▓реАрдЬ njs реж.рей.рео, nginx рд╡реЗрдм рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЛрднрд╛рд╖реЗред njs рдЕрдиреБрд╡рд╛рджрдХрд▓реЗ ECMAScript рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ рд░ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд▓рд┐рдкрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди nginx рдХреЛ рдХреНрд╖рдорддрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдкреНрд░рд╢реЛрдзрди рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдиреНрдирдд рддрд░реНрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЙрддреНрдкрдиреНрди рдЧрд░реНрди, рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди, рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрди, рд╡рд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рджреНрд░реБрдд рд░реВрдкрдорд╛ рд╕реНрдЯрдмрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬрд▓реЗ nginx рдореЛрдбреНрдпреБрд▓рдорд╛ r.subrequest рд░ r.parent рд╕рдореНрдкрддреНрддрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд╛рдЪрд╛ рд╕рдорд░реНрдерди рдердкреНрдЫред рд╕рд╛рдереИ:

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

  • рдирд┐рд░реНрджрд┐рд╖реНрдЯреАрдХрд░рдг рдЕрдиреБрд╕рд╛рд░ "рдЗрди" рдЕрдкрд░реЗрдЯрд░ рдирд┐рд╢реНрдЪрд┐рдд;
  • рдЕрдиреБрд╕рд╛рд░ Object.defineProperties() рдорд╛ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдпреЛ
    рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕рдВрдЧ;

  • рдлрд┐рдХреНрд╕реНрдб Object.create() рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрдиреБрд╕рд╛рд░ред
  • рдлрд╛рд╕реНрдЯ рдореНрдпрд╛рде рд╕рдХреНрд╖рдо рд╣реБрдБрджрд╛ Number.prototype.toString(radix) рдорд╛ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • RegExp() рдЙрджрд╛рд╣рд░рдг рдЧреБрдгрд╣рд░реВ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдпреЛ;
  • рдЖрдпрд╛рдд рдЧрд░реНрджрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐ред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди