Google ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡΠ° Chrome 95. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Chromium, ΠΊΠΎΠΉΡΠΎ ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Chrome. ΠΡΠ°ΡΠ·ΡΡΡΡ Chrome ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³Π° Π½Π° Google, Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ², ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ (DRM), ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° RLZ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅. Π‘ΡΠ³Π»Π°ΡΠ½ΠΎ Π½ΠΎΠ²ΠΈΡ 4-ΡΠ΅Π΄ΠΌΠΈΡΠ΅Π½ ΡΠΈΠΊΡΠ» Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Chrome 96 Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ Π·Π° 16 Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ. ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°Π·ΡΠΈΡΠ΅Π½ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΊΠ»ΠΎΠ½, ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½ ΠΎΡ 8 ΡΠ΅Π΄ΠΌΠΈΡΠΈ, ΠΊΠΎΠΉΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Chrome 94.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Chrome 95:
- ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Linux, Windows, macOS ΠΈ ChromeOS ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½ΠΎΠ²Π° ΡΡΡΠ°Π½ΠΈΡΠ½Π° Π»Π΅Π½ΡΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π²Π΄ΡΡΠ½ΠΎ ΠΎΡ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΡΠ΅Π· ΡΡΠ°ΠΊΠ²Π°Π½Π΅ Π²ΡΡΡ
Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΠΈΠΊΠΎΠ½Π° Π² ΠΏΠ°Π½Π΅Π»Π° Π½Π° Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ°. ΠΠ°Π½Π΅Π»ΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅Π·ΡΠΌΠ΅ Ρ ΠΎΡΠΌΠ΅ΡΠΊΠΈ ΠΈ ΡΠΏΠΈΡΡΠΊ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. ΠΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ; Π·Π° Π΄Π° Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° βchrome://flags/#side-panelβ.
- ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΎ Π΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠΈ, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈ Π² ΡΠ΅Π± ΡΠΎΡΠΌΡΠ»ΡΡΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΠΎΡΠΌΡΠ»ΡΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π°Π΄ΡΠ΅ΡΠΈ Π²ΡΠ² ΡΠΎΡΠΌΡΠ»ΡΡΠΈ, Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°, Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½ Π°Π΄ΡΠ΅Ρ ΠΈΠ»ΠΈ Π΄Π° ΠΎΡΠΊΠ°ΠΆΠ΅ Π΄Π° Π³ΠΎ Π·Π°ΠΏΠΈΡΠ΅.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΊΠΎΠ΄ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° FTP ΠΏΡΠΎΡΠΎΠΊΠΎΠ». Π Chrome 88 ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° FTP Π±Π΅ΡΠ΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π½ΠΎ Π±Π΅ΡΠ΅ ΠΎΡΡΠ°Π²Π΅Π½ ΡΠ»Π°Π³, Π·Π° Π΄Π° Ρ Π²ΡΡΠ½Π΅.
- ΠΠ΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ URL Π°Π΄ΡΠ΅ΡΠΈ Ρ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ ΠΎΡΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ ΡΠΈΡΠ»ΠΎ, Π½ΠΎ Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° IPv4 Π°Π΄ΡΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ URL Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ βhttp://127.1/β, βhttp://foo.127.1/β ΠΈ βhttp://127.0.0.0.1β Π²Π΅ΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ.
- WebAssembly Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅ΡΠ΅ΠΊΠ°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ, Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ΄. Π’ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠΈΡ
Π²Π°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° WebAssembly, ΡΠ°ΠΊΠ° ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ° Π΄Π° ΡΠ»ΠΎΠ²ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠ΄ΡΠ»ΡΡ WebAssembly ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ Emscripten.
ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ WebAssembly ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° JavaScript. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° Binaryen Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° JavaScript Π²ΠΎΠ΄ΠΈ Π΄ΠΎ 43% ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° ΠΈ 9% ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° WebAssembly. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΆΠΈΠΌΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ "-O3", ΠΊΠΎΠ΄ΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° WebAssembly Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎ Π½ΠΈΡΠΎ ΠΎΡ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° JavaScript Π²ΠΎΠ΄ΠΈ Π΄ΠΎ 30% Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
- Π‘ΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ WebAssembly ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ (ΠΊΡΡΡΡΠΎΡΠ°Π½ ΠΏΡΠΎΠΈΠ·Ρ ΠΎΠ΄) ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΡ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ.
- ΠΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ API Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠ° Origin Trials (Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅). Origin Trial ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ API ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ ΠΎΡ localhost ΠΈΠ»ΠΈ 127.0.0.1, ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠΎΠΊΠ΅Π½, ΠΊΠΎΠΉΡΠΎ Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΡ.
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² HTTP Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° User-Agent ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° JavaScript navigator.userAgent, navigator.appVersion ΠΈ navigator.platform. ΠΠ°Π³Π»Π°Π²ΠΊΠ°ΡΠ° ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°, Π·Π½Π°ΡΠΈΠΌΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΈ ΡΠΈΠΏΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ (ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½, ΠΊΠΎΠΌΠΏΡΡΡΡ, ΡΠ°Π±Π»Π΅Ρ). ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΡΠΎΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ API Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΡΠ²Π΅ΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π°Π³Π΅Π½Ρ. ΠΠ°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° User-Agent Π² ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ Π·Π° ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Chrome 102, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ ΡΠ»Π΅Π΄ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ Π³ΠΎΠ΄ΠΈΠ½Π°.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π° API Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π΄Π° ΡΠ΅ΡΠ°Ρ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΠ° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Google ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° API Π½Π° File System Access ΠΈ Storage Foundation. ΠΠ°ΡΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΡΠ΅Π»Π΅Π½ Π΅ΡΠ°ΠΏ Π·Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, Π΄ΠΎΠΏΡΠ»Π²Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π½ΠΈΡΠΊΠΈ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΏΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈ.Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
- API Π·Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΠ»Π°ΡΠ°Π½Π΅ Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° βΠΏΠ»Π°ΡΠ°Π½Π΅β, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π°ΡΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. ΠΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ° ΡΠ΅ ΡΡΡΠ°Π½Π°, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π±Π°Π½ΠΊΠ°, ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ PublicKeyCredential, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠΈΡΠΊΠ°Π½ ΠΎΡ ΡΡΡΠ³ΠΎΠ²Π΅ΡΠ° Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°ΡΠ°Π½Π΅ ΡΡΠ΅Π· API Π·Π° ΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°ΡΠ°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΠΏΠ»Π°ΡΠ°Π½Π΅ βΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΠ»Π°ΡΠ°Π½Π΅β.
- ΠΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° PerformanceObserver, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ droppedEntriesCount, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΡΠ°ΠΉΡΠ° ΡΠ° Π±ΠΈΠ»ΠΈ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π½Π΅ ΡΠ° ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡ Π±ΡΡΠ΅Ρ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ API EyeDropper, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ Π±ΡΠ°ΡΠ·ΡΡΠ°, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ²Π΅ΡΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Π°, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. const eyeDropper = Π½ΠΎΠ² EyeDropper(); const ΡΠ΅Π·ΡΠ»ΡΠ°Ρ = ΠΈΠ·ΡΠ°ΠΊΠ°ΠΉΡΠ΅ eyeDropper.open(); // ΡΠ΅Π·ΡΠ»ΡΠ°Ρ = {sRGBHex: '#160731'}
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° self.reportError(), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π΄Π° ΠΎΡΠΏΠ΅ΡΠ°ΡΠ²Π°Ρ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°, ΠΊΠ°ΡΠΎ Π΅ΠΌΡΠ»ΠΈΡΠ°Ρ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π½Π΅ΡΠ»ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ API Π½Π° URLPattern Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ Π΄Π°Π΄Π΅Π½ URL Π°Π΄ΡΠ΅Ρ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° worker. const p = new URLPattern({ protocol: 'https', hostname: 'example.com', pathname: '/:folder/*/:fileName.jpg', });
- API Intl.DisplayNames Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½, ΡΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° Π΅Π·ΠΈΡΠΈ, Π΄ΡΡΠΆΠ°Π²ΠΈ, Π²Π°Π»ΡΡΠΈ, Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π·Π° Π΄Π°ΡΠ° ΠΈ Π΄Ρ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²Ρ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠΌΠ΅Π½Π° βΠΊΠ°Π»Π΅Π½Π΄Π°Ρβ ΠΈ βdateTimeFieldβ, ΡΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ° ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π·Π° Π΄Π°ΡΠ° ΠΈ ΡΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠ΅ΡΠΈΡΠ΅). ΠΠ° ΡΠΈΠΏΠ° βΠ΅Π·ΠΈΠΊβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠΈ.
- API Intl.DateTimeFormat Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° timeZoneName: βshortGenericβ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΠΊΡΠ°ΡΠΊΠ° ΡΠ°ΡΠΎΠ²Π° Π·ΠΎΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ βPTβ, βETβ), βlongGenericβ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΡΠ»Π³Π° ΡΠ°ΡΠΎΠ²Π° Π·ΠΎΠ½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (βΠ’ΠΈΡ ΠΎΠΎΠΊΠ΅Π°Π½ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅β, βΠΠ»Π°Π½ΠΈΠ½ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅β), βshortOffsetβ - Ρ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΡΠΏΡΡΠΌΠΎ GMT (βGMT+5β) ΠΈ βlongOffsetβ Ρ Π³ΠΎΠ»ΡΠΌΠΎ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΡΠΏΡΡΠΌΠΎ GMT (βGMT+0500β).
- U2F (Cryptotoken) API Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API Π·Π° ΡΠ΅Π± ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅. U2F API ΡΠ΅ Π±ΡΠ΄Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² Chrome 98 ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π² Chrome 104.
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. ΠΠ°Π½Π΅Π»ΡΡ "Π‘ΡΠΈΠ»ΠΎΠ²Π΅" ΡΠ»Π΅ΡΠ½ΡΠ²Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° CSS ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° (Π²ΠΈΡΠΎΡΠΈΠ½Π°, ΠΏΠΎΠ΄Π»ΠΎΠΆΠΊΠ° ΠΈ Ρ.Π½.). Π Π°Π·Π΄Π΅Π»ΡΡ ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π ΡΠ΅Π± ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅ ΠΠ·ΡΠΎΡΠ½ΠΈΡΠΈ ΠΈ Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ (ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²Π΅ΡΠ΅ ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ Ρ ΡΠ΄Π΅Π±Π΅Π»Π΅Π½ ΡΡΠΈΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π² Π³ΠΎΡΠ½Π°ΡΠ° ΡΠ°ΡΡ Π½Π° ΡΠΏΠΈΡΡΠΊΠ°).
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈΡΠ΅ ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° 19 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π±ΡΡ
Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ΠΈ AFL. ΠΠ΅ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΠΈΡ
Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΡ Π²ΡΠΈΡΠΊΠΈ Π½ΠΈΠ²Π° Π½Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΠΊΠΎΠ΄ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ·Π²ΡΠ½ ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΠΏΡΡΡΡΠ½ΠΈΠΊΠ°. ΠΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΏΠ°ΡΠΈΡΠ½ΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π·Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ, Google ΠΈΠ·ΠΏΠ»Π°ΡΠΈ 16 Π½Π°Π³ΡΠ°Π΄ΠΈ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ $74 Ρ
ΠΈΠ»ΡΠ΄ΠΈ (Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $20000 10000, Π΄Π²Π΅ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΎΡ $7500 6000, Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $5000 3000, Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $2000 1000, ΡΡΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΎΡ $5 XNUMX ΠΈ Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $XNUMX XNUMX). , $XNUMX ΠΈ $XNUMX). Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° XNUMX-ΡΠ΅ Π½Π°Π³ΡΠ°Π΄ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru