αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž›αžΆαž€αŸ‹ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€

αž€αŸ’αžšαž»αž˜αž’αŸ’αž“αž€αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž˜αž€αž–αžΈαžŸαžΆαž€αž›αžœαž·αž‘αŸ’αž™αžΆαž›αŸαž™αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ Graz (αž”αŸ’αžšαž‘αŸαžŸαž’αžΌαž‘αŸ’αžšαžΈαžŸ) αžŠαŸ‚αž›αž–αžΈαž˜αž»αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαž‡αžΆαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžš MDS, NetSspectre ΠΈ αž‰αž‰αž½αžš, αž”αžΆαž“αžšαž€αžƒαžΎαž‰ αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαžœαž·αž—αžΆαž‚αž†αžΆαž“αŸ‚αž›αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαžαŸ’αž˜αžΈ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž€αŸ†αžŽαŸ‚αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž™αž»αž‘αŸ’αž’αž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž€αžΆαžšαž›αžΆαž€αŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžœαžΆαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΌαžŠ JavaScript αžŠαŸ‚αž›αžšαŸ€αž”αž…αŸ†αžŠαŸ„αž™αž’αŸ’αž“αž€αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž‡αžΆαž”αŸ’αžšαž—αž–αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαžŠαŸ„αž™αž”αŸ’αžšαž™αŸ„αž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αŸ„αž›αžŠαŸ…αž“αŸƒαž€αžΆαžšαž€αŸαž„αž”αŸ’αžšαžœαŸαž‰αŸ’αž…αžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž–αžΈ OS αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž“αŸαŸ‡αž€αŸαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž•αž„αžŠαŸ‚αžšαž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž™αž“αŸ’αžαž€αžΆαžšαž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαžŠαŸ‚αž›αž›αžΆαž€αŸ‹ αžŠαžΌαž…αž‡αžΆ Tor Browser αž‡αžΆαžŠαžΎαž˜αŸ” αž‚αŸ†αžšαžΌαž€αžΌαžŠαž”αŸ’αžšαž—αž–αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž αž”αžΆαž“αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™ αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ MIT αŸ”

αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž‘αžΎαž„β€‹αžŠαŸ„αž™β€‹αž•αŸ’αž’αŸ‚αž€β€‹αž›αžΎβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽβ€‹αž‚αŸ†αžšαžΌβ€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αž‘αŸ’αžšαž–αŸ’αž™β€‹αžŸαž˜αŸ’αž”αžαŸ’αžαž·β€‹αž€αŸ’αž“αž»αž„ JavaScript αžŠαŸ‚αž›β€‹αž‡αžΆβ€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αž“αŸƒβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€β€‹αžαžΆαž˜β€‹αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‚αŸ’αž“αžΆ αž“αž·αž„β€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αž“αŸƒβ€‹αž–αŸαž›β€‹αžœαŸαž›αžΆβ€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·β€‹αžŠαŸ„αž™β€‹αž’αžΆαžŸαŸ’αžšαŸαž™β€‹αž›αžΎβ€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αž“αŸƒ JIT, CPU αž“αž·αž„β€‹αž™αž“αŸ’αžαž€αžΆαžšβ€‹αž”αŸ‚αž„αž…αŸ‚αž€β€‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ” αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž‚αžΊαž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαž”αž‰αŸ’αž‡αžΈαžœαžαŸ’αžαž»αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αž–αžΈ JavaScript αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αž…αŸ†αž“αž½αž“αž“αŸƒαžœαžαŸ’αžαž»αž‘αžΆαž€αŸ‹αž‘αž„αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αž“αž·αž„αž€αŸ†αžŽαŸ‚αžšαž”αžŸαŸ‹αžœαžΆαŸ”

αž˜αž»αžαž„αžΆαžš getProperties(o) {
var αž›αž‘αŸ’αž’αž•αž› = [];
ខណៈ (o !== null) {
αž›αž‘αŸ’αž’αž•αž› = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
αž›αž‘αŸ’αž’αž•αž›αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰;
}

αž§αž‘αžΆαž αžšαžŽαŸ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Firefox αž―αž€αžŸαžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž· 2247 αžαžŽαŸˆαžŠαŸ‚αž›αž…αŸ†αž“αž½αž“αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αžšαž½αž˜αž‘αžΆαŸ†αž„αž’αž…αž›αž“αž‘αŸ’αžšαž–αŸ’αž™αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž―αž€αžŸαžΆαžšαž‚αžΊ 15709 (αž“αŸ…αž€αŸ’αž“αž»αž„ Tor Browser - 15639) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžšαž”αžŸαŸ‹ Chrome 2698 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž 13570 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ (αž“αŸ…αž€αŸ’αž“αž»αž„ Chrome αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Android - 13119) αŸ” αž…αŸ†αž“αž½αž“αž“αž·αž„αžαž˜αŸ’αž›αŸƒαž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αž–αžΈαž€αŸ†αžŽαŸ‚αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αž‘αŸ…αž€αŸ†αžŽαŸ‚αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αž“αž·αž„αž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ”

αžαž˜αŸ’αž›αŸƒβ€‹αž“αž·αž„β€‹αžœαžαŸ’αžαž˜αžΆαž“β€‹αž“αŸƒβ€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αžŸαž˜αŸ’αž”αžαŸ’αžαž·β€‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹β€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αž”αŸ’αžšαž—αŸαž‘β€‹αžšαž”αžŸαŸ‹ OS αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αžΌαž”αŸŠαž»αž“αž‘αžΌ αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž· window.innerWidth αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ… 1000 αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Windows 10 αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ… 1001αŸ” αž›αž€αŸ’αžαžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž· window.navigator.activeVRDisplays αž˜αžΆαž“αž“αŸ…αž›αžΎ Windows αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž“αŸ…αž›αžΎ Linux αž‘αŸαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Android αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ window.SharedWorker αž˜αž·αž“αž˜αŸ‚αž“αž‘αŸαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžœαžΆαž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž±αŸ’αž™αž”αŸ’αžšαžΎαž€αžΆαžšαžœαž·αž—αžΆαž‚αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš WebGL αžŠαŸ‚αž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž’αŸ’αž“αž€αž”αžΎαž€αž”αžšαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž€αžΆαžšαž αŸ…αž‘αŸ…αž€αžΆαž“αŸ‹ WEBGL_debug_renderer_infoextension αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž„αŸ’αž αžΆαž‰ OpenGL αžŠαŸ‚αž›αžαž»αžŸαž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž“αŸƒαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž“αŸƒαž”αŸ’αž›αž»αž€αž€αžΌαžŠαž’αž˜αŸ’αž˜αžαžΆαž•αŸ’αžŸαŸαž„αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸƒαžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž–αžΈαž₯αžšαž·αž™αžΆαž”αž JIT (αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αžŸαŸŠαžΈαž—αžΈαž™αžΌαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎ αž αžΎαž™β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αžŽαžΆβ€‹αžŠαŸ‚αž› JIT αž“αžΉαž„β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž€αžΌαžŠβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž·β€‹αž—αžΆαž–β€‹αž‡αžΆαž˜αž½αž™β€‹αž“αžΉαž„β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž€αžΎαž“β€‹αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αž“αž·αž„β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžΎβ€‹αž”αŸ’αžšαžΆαžŸαŸ‹β€‹αžŸαŸαž…αž€αŸ’αžαžΈβ€‹αžŽαŸ‚αž“αžΆαŸ†β€‹αž”αž“αŸ’αžαŸ‚αž˜ αž αžΎαž™β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αž˜αžΆαž“ )αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αžŸαŸαž„αŸ—αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžœαžΆαžŸαŸ‹αž•αž„αžŠαŸ‚αžš αžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž‘αŸ†αž αŸ†αž“αŸƒαž”αŸ’αž›αž»αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ”

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž˜αŸ’αž›αŸƒαž™αŸ„αž„αž’αž˜αŸ’αž˜αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž–αžΈαž˜αž»αž“αŸ” αž€αŸ†αž‘αž»αž„αž–αŸαž›αž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αžΌαžœαž”αžšαž·αž™αžΆαž€αžΆαžŸαžŸαžΆαž€αž›αŸ’αž”αž„αž…αŸ†αž“αž½αž“ 40 αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž€αŸ†αžŽαŸ‚αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž•αž›αž·αžαžŸαŸŠαžΈαž—αžΈαž™αžΌ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ αž“αž·αž„αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαžœαžΆαž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž–αž·αž αž¬αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαŸ”

αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆ αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜αžšαž”αžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž“αž·αž„αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαžŠαŸ‚αž›αž›αžΆαž€αŸ‹ αž¬αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžšαž”αŸ€αž”αžšαž»αž€αžšαž€αž―αž€αž‡αž“αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž”αŸ‚αž”αž“αŸαŸ‡αž€αŸ’αž›αžΆαž™αž‡αžΆαž”αŸ’αžšαž—αž–αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαŸ” αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž€αžΆαžšαž”αž„αŸ’αžαžΌαž…αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαžΎαž˜αžŠαŸ‚αž›αžŽαŸ‚αž“αžΆαŸ†αžŠαŸ„αž™αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž‚αž·αžαž‚αžΌαžšαž–αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαž™αŸ„αž›αžŠαžΌαž…αž‡αžΆ αž‚αž»αžŽαž—αžΆαž–αž”αž„αŸ’αž αžΆαž‰αž’αŸαž€αŸ’αžšαž„αŸ‹αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž”αŸ’αžšαž—αŸαž‘ MIME αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžš αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‹αž˜αž€αžαžΆ (HTTP / 2 ΠΈ HTTPS) αž€αžΆαžšαžœαž·αž—αžΆαž‚αž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ αž“αž·αž„αž–αž»αž˜αŸ’αž–αž’αž€αŸ’αžŸαžšαž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸƒ Web APIs αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžαžœαžΈαžŠαŸαž’αžΌ αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αžŠαŸ„αž™αž”αŸ’αžšαžΎ WebGL αž“αž·αž„ αž•αŸ’αž‘αžΆαŸ†αž„αž€αŸ’αžšαžŽαžΆαžαŸ‹, αž§αž”αžΆαž™αž€αž› αž‡αžΆαž˜αž½αž™ CSS αž€αžΆαžšαžœαž·αž—αžΆαž‚αž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ αž€αžŽαŸ’αžαž»αžš ΠΈ αž€αŸ’αžαžΆαžšαž…αž»αž….

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹