ืžืขืœื“ื•ื ื’ ืคื•ืŸ nginx 1.17.8 ืื•ืŸ njs 0.3.8

ื’ืขืฉืืคืŸ ืึทืคึผืกื˜ืจื™ื ืžืขืœื“ื•ื ื’ nginx 1.17.8, ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื ื™ื™ึทืข ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ื”ืืœื˜ (ืื™ืŸ ืคึผืึทืจืึทืœืขืœ ื’ืขืฉื˜ื™ืฆื˜ ืกื˜ืึทื‘ื™ืœ ืฆื•ื•ื™ื™ึทื’ 1.16 ื‘ืœื•ื™ื– ืขื ื“ืขืจื•ื ื’ืขืŸ ืฉื™ื™ึทื›ื•ืช ืฆื• ื“ื™ ื™ืœื™ืžืึทื ื™ื™ืฉืึทืŸ ืคื•ืŸ ืขืจื ืกื˜ ืขืจืจืึธืจืก ืื•ืŸ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื– ื–ืขื ืขืŸ ื’ืขืžืื›ื˜).

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืื™ืŸ ื“ืขืจ ื“ื™ืจืขืงื˜ื™ื•ื• grpc_pass ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ื™ืฆืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ืึท ืคึผืึทืจืึทืžืขื˜ืขืจ ื•ื•ืึธืก ื“ื™ืคื™ื™ื ื– ืึทืŸ ืึทื“ืจืขืก. ืื•ื™ื‘ ื“ื™ ืึทื“ืจืขืก ืื™ื– ืกืคึผืขืกื™ืคื™ืขื“ ื•ื•ื™ ืึท ืคืขืœื“ ื ืึธืžืขืŸ, ื“ืขืจ ื ืึธืžืขืŸ ืื™ื– ื’ืขื–ื•ื›ื˜ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ืกืขืจื•ื•ืขืจ ื’ืจื•ืคึผืขืก ืื•ืŸ, ืื•ื™ื‘ ื ื™ื˜ ื’ืขืคื•ื ืขืŸ, ื“ืขืžืึธืœื˜ ื‘ืืฉืœืืกืŸ ื ื™ืฆืŸ ืึท ืจืขืกืึธืœื•ื•ืขืจ;
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืึท ื˜ืขื•ืช ื•ื•ืขืŸ ืคึผืจืึทืกืขืกื™ื ื’ ืคึผื™ื™ืคึผืœื™ื™ื ื– ืจื™ืงื•ื•ืขืก ืื™ื‘ืขืจ ืึท ืกืกืœ ืงืฉืจ ืื™ืŸ ื•ื•ืึธืก ืึท ื˜ื™ื™ืžืึทื•ื˜ ืงืขืŸ ืคึผืึทืกื™ืจืŸ;
  • ืงืขืจืขืงืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขืžืื›ื˜ ืฆื• ื“ื™ ื“ื™ืจืขืงื˜ื™ื•ื• debug_points ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ HTTP/2 ืคึผืจืึธื˜ืึธืงืึธืœ.

ืื™ืŸ ื“ืขืจืฆื•, ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืืžืขืจืงื˜ ืžืขืœื“ื•ื ื’ njs 0.3.8, ืึท ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื™ื‘ืขืจื–ืขืฆืขืจ ืคึฟืึทืจ ื“ื™ nginx ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ. ื“ื™ njs ื™ื‘ืขืจื–ืขืฆืขืจ ื™ืžืคึผืœืึทืžืึทื ืฅ ECMAScript ืกื˜ืึทื ื“ืึทืจื“ืก ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื™ืงืกืคึผืึทื ื“ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืคื•ืŸ nginx ืฆื• ืคึผืจืึธืฆืขืก ืจื™ืงื•ื•ืขืก ื ื™ืฆืŸ ืกืงืจื™ืคึผืก ืื™ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ืกืงืจื™ืคึผื˜ืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืื™ืŸ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืฆื• ื“ืขืคื™ื ื™ืจืŸ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืœืึธื’ื™ืง ืคึฟืึทืจ ืคึผืจืึทืกืขืกื™ื ื’ ืจื™ืงื•ื•ืขืก, ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ื“ื™ื ืึทืžื™ืงืึทืœืœื™ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ืขื ื˜ืคืขืจ, ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ืึท ื‘ืขื˜ืŸ / ืขื ื˜ืคืขืจ, ืึธื“ืขืจ ื’ืขืฉื•ื•ื™ื ื“ ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื˜ืึทื‘ืก ืฆื• ืกืึธืœื•ื•ืข ืคึผืจืึธื‘ืœืขืžืก ืื™ืŸ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ื“ื™ ื ื™ื™ึทืข ืžืขืœื“ื•ื ื’ ืžื•ืกื™ืฃ ืฆื•ื–ืึธื’ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ r.subrequest ืฆื• ื“ื™ nginx ืžืึธื“ื•ืœืข ืื•ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ r.parent ืคืึทืจืžืึธื’ ื”ืึทื ื“ืœืขืจ. ืื•ื™ืš:

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื•ื–ืึธื’ ืฉื˜ื™ืฆืŸ;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืขืจืฉื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื˜ื™ื™ืคึผื˜ ืขืจื™ื™ื–;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ArrayBuffer;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืขืจืฉื˜ ืกื™ืžื‘ืึธืœ ืฉื˜ื™ืฆืŸ;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืงืึธื ื˜ืจืึธืœ ืคึฟืึทืจ JSON.stringify ();
  • ืฆื•ื’ืขื’ืขื‘ืŸ Object.is ();
  • ืฆื•ื’ืขื’ืขื‘ืŸ Object.setPrototypeOf();
  • ืึท ื ืึทืœ ืงืึทื ืงืึทื˜ืึทื ื™ื™ืฉืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ (ืงืึธืึทืœืขืกื™ื ื’);
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ Object.getPrototypeOf() ืฆื• ื ืึธื›ืงื•ืžืขืŸ ืžื™ื˜ ืกืคึผืขืง;
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ Object.prototype.valueOf() ืฆื• ื ืึธื›ืงื•ืžืขืŸ ืžื™ื˜ ืกืคึผืขืง;
  • ื’ืขืžืื›ื˜ ืึท ืคืึทืจืจื™ื›ื˜ืŸ ืฆื• JSON.stringify () ืžื™ื˜ ื ื™ื˜-ืคึผืจื™ื ื˜ืึทื‘ืึทืœ ื•ื•ืึทืœื•ืขืก ืื•ืŸ
    ืคืึทืจื˜ืจืขื˜ืขืจ ืคึฟื•ื ืงืฆื™ืข;

  • ืคืึทืจืคืขืกื˜ื™ืงื˜ "ืื™ืŸ" ืึธืคึผืขืจืึทื˜ืึธืจ ืœื•ื™ื˜ ืฆื• ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’;
  • ื’ืขืžืื›ื˜ ืึท ืคืึทืจืจื™ื›ื˜ืŸ ืฆื• Object.defineProperties () ืœื•ื™ื˜ ืฆื•
    ืžื™ื˜ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’;

  • ืคืึทืจืคืขืกื˜ื™ืงื˜ Object.create() ืœื•ื™ื˜ ืกืคึผืขืง.
  • ืึท ืงืขืจืขืงืฉืึทืŸ ืื™ื– ื’ืขืžืื›ื˜ ืฆื• Number.prototype.toString(ืจืึทื“ื™ืงืก) ื•ื•ืขืŸ ืคืึทืกื˜ ืžืึทื˜ ืื™ื– ืขื ื™ื™ื‘ืึทืœื“;
  • ืจืขื’ืขืงืกืคึผ () ื‘ื™ื™ึทืฉืคึผื™ืœ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืงืขืจืขืงื˜ืึทื“;
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืึทืจื™ื™ึทื ืคื™ืจ ื˜ืขื•ืช ื•ื•ืขืŸ ื™ืžืคึผืึธืจื˜ื™ื ื’.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’