ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Google ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ»Π°Ρ Spectre ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° JavaScript ΠΊΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·ΡΡΠ° Ρ ΡΠ΅Π» Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈΡΠ΅ Π·Π°ΡΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ. ΠΠΊΡΠΏΠ»ΠΎΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠ΅Π± ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ°. ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠ° Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ ΡΠ°ΠΉΡ leaky.page, Π° ΠΊΠΎΠ΄ΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ Π½Π° GitHub.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π΄Π° Π°ΡΠ°ΠΊΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel Core i7-6500U Π² ΡΡΠ΅Π΄Π° Ρ Linux ΠΈ Chrome 88. ΠΠ° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠ° Π² Π΄ΡΡΠ³ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠ΅ΡΠΎΠ΄ΡΡ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π΅ Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Intel - ΡΠ»Π΅Π΄ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠ° Π΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½Π° ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ CPU ΠΎΡ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Apple M1, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ARM. Π‘Π»Π΅Π΄ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠ° ΡΡΡΠΎ Π΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π² Π΄ΡΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΡΠ°ΡΠ·ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΄Π²ΠΈΠΆΠΊΠ° Chromium.
Π ΡΡΠ΅Π΄Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ Chrome 88 ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Intel Skylake ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠ°, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Π± ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π½Π° Chrome (renderer process), ΡΡΡ ΡΠΊΠΎΡΠΎΡΡ ΠΎΡ 1 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π±ΡΡ Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°, Ρ ΡΠ΅Π½Π°ΡΠ° Π½Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡΡΠ°, Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π΄ΠΎ 8kB/s ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ΅Ρ performance.now() Ρ ΡΠΎΡΠ½ΠΎΡΡ 5 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ (0.005 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ, ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΏΡΠΈ ΡΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ Π΅Π΄Π½Π° ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ ΡΡΡ ΡΠΊΠΎΡΠΎΡΡ ΠΎΠΊΠΎΠ»ΠΎ 60 Π±Π°ΠΉΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΊΠΎΠ΄ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠΈ ΡΠ°ΡΡΠΈ. ΠΡΡΠ²Π°ΡΠ° ΡΠ°ΡΡ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΠ°Π»ΠΈΠ±ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π·Π° Π΄Π° ΠΎΡΠ΅Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π² ΠΊΠ΅ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΡ CPU. ΠΡΠΎΡΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΈΠ² ΠΎΡ JavaScript.
Π’ΡΠ΅ΡΠ°ΡΠ° ΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Spectre, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ, ΡΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΈΠΉΡΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΠΎΡΡ Π²ΡΡΠ»Ρ ΡΠ»Π΅Π΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π΅ΡΡΠΏΠ΅ΡΠ½Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°, Π½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡΡΠ°Π²Π°Ρ Π² ΠΎΠ±ΡΠΈΡ ΠΊΠ΅Ρ ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° ΡΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΈ Π½Π΅ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ ΠΏΡΠ΅ΡΠΈΠ·Π½ΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΡΠ΅Π· API performance.now(), ΠΈ Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠΏΠ° SharedArrayBuffer, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠΈΠ²ΠΈ Π² ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΊΡΠΏΠ»ΠΎΠΈΡΡΡ Π²ΠΊΠ»ΡΡΠ²Π° Π³Π°Π΄ΠΆΠ΅Ρ Spectre, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΎ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΠ΅ΡΠΎΠ²Π΅ ΡΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΏΠΎΠΏΠ°Π΄Π°ΡΠΈ Π² ΠΊΠ΅ΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ Π² Ρ ΠΎΠ΄Π° Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠ°Π΄ΠΆΠ΅ΡΡΡ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ² JavaScript, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΠΏΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π·ΠΎΠ½Π° ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ°, Π²Π»ΠΈΡΠ΅ΡΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠ° Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠ° (ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏ, Π½ΠΎ ΠΎΡΠΊΠ°ΡΠ° Π΅ ΡΠ»Π΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ°). ΠΠ° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π° ΡΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΌΠ°ΠΌΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΊΠ΅ΡΠ° Tree-PLRU ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΏΡΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΎΡ ΠΊΠ΅ΡΠ° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² ΠΊΠ΅ΡΠ°.
ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Google Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π»Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠ°, Π·Π° Π΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ° ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π°ΡΠ°ΠΊΠΈΡΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ»Π°Ρ Spectre, ΠΈ Π΄Π° ΡΡΠΈΠΌΡΠ»ΠΈΡΠ° ΡΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ, Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠΈ ΡΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°ΡΠ°ΠΊΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Google ΡΠΌΡΡΠ°, ΡΠ΅ Π±Π΅Π· ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ, Π³ΠΎΡΠΎΠ²ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΈ Π·Π° ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΠΊΠ° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠΎΠ²Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π°Π³Π»Π°Π²ΠΈΡ Cross-Origin Opener Policy (COOP), Cross-Origin Embedder Policy (COEP), Cross-Origin Resource Policy (CORP), Fetch Metadata Request, X-Frame-Options, X-Content-Type-Options ΠΈ SameSite Cookie. Π£ΠΊΠ°Π·Π°Π½ΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ° ΠΎΡ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π² ΠΏΡΠΎΡΠ΅ΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ JavaScript ΠΊΠΎΠ΄ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ (ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΡΡΠ°Π²Π° ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ, Π² ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ²Π΅Π½ ΠΊΠΎΠ΄Π° Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³ ΡΠ°ΠΉΡ, ΠΎΡΠ²ΠΎΡΠ΅Π½ Π² ΡΡΡΠΈΡ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ). ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ°ΠΉΡΠ° ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΎΡ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΡΠ΅Π· iframe.

ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
