nginx 1.17.8 เจ…เจคเฉ‡ njs 0.3.8 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

เจฆเจพ เจ—เจ เจจ เจ•เฉ€เจคเจพ เจ…เฉฑเจชเจธเจŸเจฐเฉ€เจฎ เจฐเฉ€เจฒเฉ€เจœเจผ nginx 1.17.8, เจœเจฟเจธ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจจเจตเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเจพ เจตเจฟเจ•เจพเจธ เจœเจพเจฐเฉ€ เจนเฉˆ (เจธเจฎเจพเจ‚เจคเจฐ เจธเจฎเจฐเจฅเจฟเจค เจธเจฅเจฟเจฐ เจตเจฟเฉฑเจš เจธเจผเจพเจ–เจพ 1.16 เจธเจฟเจฐเจซ เจ—เฉฐเจญเฉ€เจฐ เจ—เจฒเจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจ–เจพเจคเจฎเฉ‡ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจฌเจฆเจฒเจพเจ… เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ).

เจฎเฉเฉฑเจ– เจคเจฌเจฆเฉ€เจฒเฉ€:

  • เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจตเจฟเจš grpc_เจชเจพเจธ เจ‡เฉฑเจ• เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจเจกเจฐเฉˆเฉฑเจธ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจชเจคเจพ เจ‡เฉฑเจ• เจกเฉ‹เจฎเฉ‡เจจ เจจเจพเจฎ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจจเจพเจฎ เจจเฉ‚เฉฐ เจตเจฐเจฃเจฟเจค เจธเจฐเจตเจฐ เจธเจฎเฉ‚เจนเจพเจ‚ เจตเจฟเฉฑเจš เจ–เฉ‹เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡, เจœเฉ‡เจ•เจฐ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฆเจพ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจฐเฉˆเจœเจผเฉ‹เจฒเจตเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ;
  • เจ‡เฉฑเจ• SSL เจ•เจจเฉˆเจ•เจธเจผเจจ เจ‰เฉฑเจคเฉ‡ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ;
  • เจฆเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจกเฉ€เจฌเฉฑเจ—_เจชเฉเจ†เจ‡เฉฐเจŸ HTTP/2 เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚.

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจฐเจฟเจฒเฉ€เจœเจผ njs 0.3.8, nginx เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจฒเจˆ เจ‡เฉฑเจ• JavaScript เจฆเฉเจญเจพเจธเจผเฉ€เจเฅค njs เจฆเฉเจญเจพเจธเจผเฉ€เจ ECMAScript เจฎเจฟเจ†เจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฒเจˆ nginx เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚, เจ‡เฉฑเจ• เจธเฉฐเจฐเจšเจจเจพ เจคเจฟเจ†เจฐ เจ•เจฐเจจ, เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจœเจตเจพเจฌ เจฌเจฃเจพเจ‰เจฃ, เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€/เจœเจตเจพเจฌ เจจเฉ‚เฉฐ เจธเฉ‹เจงเจฃ, เจœเจพเจ‚ เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจธเจŸเฉฑเจฌ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‰เฉฑเจจเจค เจคเจฐเจ• เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจจเจตเฉ€เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผ nginx เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฟเฉฑเจš r.subrequest เจฒเจˆ เจตเจพเจ…เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ…เจคเฉ‡ r.parent เจชเฉเจฐเจพเจชเจฐเจŸเฉ€ เจนเฉˆเจ‚เจกเจฒเจฐ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจตเฉ€:

  • เจœเฉ‹เฉœเจฟเจ† เจตเจพเจ…เจฆเจพ เจธเจฎเจฐเจฅเจจ;
  • เจŸเจพเจˆเจช เจ•เฉ€เจคเฉ‡ เจเจฐเฉ‡ เจฒเจˆ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ;
  • ArrayBuffer เจฒเจˆ เจธเจผเจพเจฎเจฟเจฒ เจ•เฉ€เจคเจพ เจธเจนเจฟเจฏเฉ‹เจ—;
  • เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจšเจฟเฉฐเจจเฉเจน เจธเจฎเจฐเจฅเจจ;
  • JSON.stringify() เจฒเจˆ เจฌเจพเจนเจฐเฉ€ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†;
  • Object.is();
  • Object.setPrototypeOf();
  • เจ‡เฉฑเจ• null concatenation เจ†เจชเจฐเฉ‡เจŸเจฐ (เจ•เฉ‹เจฒเฉ‡เจธเจฟเฉฐเจ—);
  • เจซเจฟเจ•เจธเจก Object.getPrototypeOf() เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฒเจˆ;
  • เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฒเจˆ Object.prototype.valueOf() เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เฉ€เจคเจพ;
  • JSON.stringify() เจจเฉ‚เฉฐ เจ—เฉˆเจฐ-เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจจ เจฏเฉ‹เจ— เจฎเฉเฉฑเจฒเจพเจ‚ เจจเจพเจฒ เจ‡เฉฑเจ• เจซเจฟเจ•เจธ เจ•เฉ€เจคเจพ เจนเฉˆ เจ…เจคเฉ‡
    เจฌเจฆเจฒ เจซเฉฐเจ•เจธเจผเจจ;

  • เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ "เจ‡เจจ" เจ†เจชเจฐเฉ‡เจŸเจฐ เจธเจฅเจฟเจฐ;
  • เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ Object.defineProperties() เจจเฉ‚เฉฐ เจซเจฟเจ•เจธ เจ•เฉ€เจคเจพ เจนเฉˆ
    เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจจเจพเจฒ;

  • เจซเจฟเจ•เจธเจก Object.create() เจธเจชเฉ‡เจ• เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฅค
  • Number.prototype.toString(radix) เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจซเจพเจธเจŸ เจฎเฉˆเจฅ เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ;
  • RegExp() เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ†;
  • เจ†เจฏเจพเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจธเจฅเจฟเจฐ เจ†เจฏเจพเจค เจ—เจฒเจคเฉ€เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹