ํฌ๋กฌ 98 ๋ฆด๋ฆฌ์Šค

๊ตฌ๊ธ€์€ ํฌ๋กฌ 98 ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ณต๊ฐœํ–ˆ๊ณ , ๋™์‹œ์— ํฌ๋กฌ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋ฌด๋ฃŒ ํฌ๋กœ๋ฏธ์›€(Chromium) ํ”„๋กœ์ ํŠธ๋„ ์•ˆ์ •์ ์œผ๋กœ ์ถœ์‹œ๋๋‹ค. Chrome ๋ธŒ๋ผ์šฐ์ €๋Š” Google ๋กœ๊ณ  ์‚ฌ์šฉ, ์ถฉ๋Œ ์‹œ ์•Œ๋ฆผ ์ „์†ก ์‹œ์Šคํ…œ, ๋ณต์‚ฌ ๋ฐฉ์ง€๋œ ๋น„๋””์˜ค ์ฝ˜ํ…์ธ (DRM) ์žฌ์ƒ ๋ชจ๋“ˆ, ์ž๋™ ์—…๋ฐ์ดํŠธ ์„ค์น˜ ์‹œ์Šคํ…œ, RLZ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „์†ก ๋“ฑ์œผ๋กœ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์ƒ‰. ๋‹ค์Œ Chrome 99 ๋ฆด๋ฆฌ์Šค๋Š” 1์›” XNUMX์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Chrome 98์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ๋ธŒ๋ผ์šฐ์ €์—๋Š” ๊ฐ ์šด์˜ ์ฒด์ œ๋ณ„ ์™ธ๋ถ€ ์ €์žฅ์†Œ ๋Œ€์‹  ์‚ฌ์šฉ๋˜๋Š” ์ธ์ฆ ๊ธฐ๊ด€์˜ ์ž์ฒด ๋ฃจํŠธ ์ธ์ฆ์„œ ์ €์žฅ์†Œ(Chrome ๋ฃจํŠธ ์ €์žฅ์†Œ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋Š” HTTPS๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํŠธ๋ฅผ ์—ด ๋•Œ ์ธ์ฆ์„œ ์‹ ๋ขฐ ์ฒด์ธ์„ ํ™•์ธํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋งํฌ๋กœ ์‚ฌ์šฉ๋˜๋Š” Firefox์˜ ๋…๋ฆฝ์ ์ธ ๋ฃจํŠธ ์ธ์ฆ์„œ ์ €์žฅ์†Œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ €์žฅ์†Œ๋Š” ์•„์ง ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ €์žฅ์†Œ ๊ตฌ์„ฑ์„ ์‰ฝ๊ฒŒ ์ „ํ™˜ํ•˜๊ณ  ์ด์‹์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๋ถ€๋ถ„์˜ ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ์—์„œ ์Šน์ธ๋œ ๋ชจ๋“  ์ธ์ฆ์„œ๊ฐ€ Chrome ๋ฃจํŠธ ์Šคํ† ์–ด์— ํฌํ•จ๋˜๋Š” ์ „ํ™˜ ๊ธฐ๊ฐ„์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์ดํŠธ ์˜คํ”ˆ ์‹œ ๋กœ๋“œ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ๋‚˜ ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ(localhost)์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ฐ•ํ™”ํ•  ๊ณ„ํš์ด๋‹ค. ์ด๋Ÿฌํ•œ ์š”์ฒญ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ผ์šฐํ„ฐ, ์•ก์„ธ์Šค ํฌ์ธํŠธ, ํ”„๋ฆฐํ„ฐ, ๊ธฐ์—… ์›น ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์˜ ์š”์ฒญ๋งŒ ์ˆ˜๋ฝํ•˜๋Š” ๊ธฐํƒ€ ์žฅ์น˜ ๋ฐ ์„œ๋น„์Šค์— ๋Œ€ํ•ด CSRF ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•ด๋‹น ํ•˜์œ„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ์š”์ฒญ์€ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋‚˜ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ์ ‘์†ํ•˜๊ธฐ ์ „, ๋ฉ”์ธ ์‚ฌ์ดํŠธ ์„œ๋ฒ„์— โ€œAccess-Control-Request-Private-Network: trueโ€ ํ—ค๋”๋ฅผ ํฌํ•จํ•œ CORS(Cross-Origin Resource Sharing) ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์ž‘์—…์„ ํ™•์ธํ•  ๋•Œ ์„œ๋ฒ„๋Š” "Access-Control-Allow-Private-Network: true" ํ—ค๋”๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Chrome 98์—์„œ๋Š” ํ…Œ์ŠคํŠธ ๋ชจ๋“œ๋กœ ๊ฒ€์‚ฌ๊ฐ€ ๊ตฌํ˜„๋˜๋ฉฐ ํ™•์ธ์ด ์—†์œผ๋ฉด ์›น ์ฝ˜์†”์— ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์ง€๋งŒ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค ์š”์ฒญ ์ž์ฒด๋Š” ์ฐจ๋‹จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Chrome 101์ด ์ถœ์‹œ๋  ๋•Œ๊นŒ์ง€๋Š” ์ฐจ๋‹จ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ๊ณ„ํš์ด ์—†์Šต๋‹ˆ๋‹ค.

  • ๊ณ„์ • ์„ค์ •์—๋Š” ์›น์ƒ์˜ ํ”ผ์‹ฑ, ์•…์˜์ ์ธ ํ™œ๋™ ๋ฐ ๊ธฐํƒ€ ์œ„ํ˜‘์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๊ฒ€์‚ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ํ–ฅ์ƒ๋œ ์„ธ์ดํ”„ ๋ธŒ๋ผ์šฐ์ง• ํฌํ•จ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ํ†ตํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Google ๊ณ„์ •์—์„œ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ด์ œ Chrome์—์„œ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ํ”ผ์‹ฑ ์‹œ๋„๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉฐ TFLite ๊ธฐ๊ณ„ ํ•™์Šต ํ”Œ๋žซํผ(TensorFlow Lite)์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ Google ์ธก์—์„œ ํ™•์ธ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ ๋ชจ๋ธ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํ•จ๊ป˜ ์›๊ฒฉ ๋ถ„์„์ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค) ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋Œ€ํ•ด ๊ณ„์‚ฐ๋œ ๊ฐ€์ค‘์น˜). ํ”ผ์‹ฑ ์‹œ๋„๊ฐ€ ๊ฐ์ง€๋˜๋ฉด ์˜์‹ฌ์Šค๋Ÿฌ์šด ์‚ฌ์ดํŠธ๋ฅผ ์—ด๊ธฐ ์ „์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฒฝ๊ณ  ํŽ˜์ด์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • User-Agent ํ—ค๋”๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋Š” Client Hints API์—์„œ๋Š” ์„œ๋ฒ„์˜ ์š”์ฒญ ํ›„์—๋งŒ ํŠน์ • ๋ธŒ๋ผ์šฐ์ € ๋ฐ ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜(๋ฒ„์ „, ํ”Œ๋žซํผ ๋“ฑ)์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. TLS์—์„œ ์‚ฌ์šฉ๋˜๋Š” GREASE(Generate Random Extensions And Sustain Extensibility) ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๊ฐ€์ƒ์˜ ์ด๋ฆ„์„ ๋ธŒ๋ผ์šฐ์ € ์‹๋ณ„์ž ๋ชฉ๋ก์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด '"Chrome" ์™ธ์—; v="98โ€ณ' ๋ฐ '"ํฌ๋กฌ"; v="98โ€ณ' ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ž„์˜ ์‹๋ณ„์ž '"(Not; Browser"; v="12โ€ณ')๋ฅผ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋Œ€์ฒด๋Š” ์•Œ ์ˆ˜ ์—†๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์‹๋ณ„์ž ์ฒ˜๋ฆฌ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋Œ€์ฒด ๋ธŒ๋ผ์šฐ์ €๋Š” ํ—ˆ์šฉ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ชฉ๋ก์— ๋Œ€ํ•œ ํ™•์ธ์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์ธ๊ธฐ ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ €์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€์žฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.
  • 17์›” 2023์ผ๋ถ€ํ„ฐ Chrome ์›น ์Šคํ† ์–ด์—์„œ๋Š” Chrome ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ฒ„์ „ XNUMX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๋” ์ด์ƒ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ƒˆ๋กœ์šด ์ถ”๊ฐ€ ์‚ฌํ•ญ์€ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์˜ ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์ถ”๊ฐ€๋œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์ž๋Š” ๋งค๋‹ˆํŽ˜์ŠคํŠธ์˜ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณ„์† ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์˜ ์„ ์–ธ๋ฌธ์€ XNUMX๋…„ XNUMX์›”์— ์™„์ „ํžˆ ์ง€์› ์ค‘๋‹จ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์ƒ‰ ์ด๋ชจํ‹ฐ์ฝ˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” COLRv1 ํ˜•์‹(๋ฒกํ„ฐ ๊ธ€๋ฆฌํ”„ ์™ธ์— ์ƒ‰์ƒ ์ •๋ณด๊ฐ€ ์žˆ๋Š” ๋ ˆ์ด์–ด๋ฅผ ํฌํ•จํ•˜๋Š” OpenType ๊ธ€๊ผด์˜ ํ•˜์œ„ ์ง‘ํ•ฉ)์˜ ์ƒ‰์ƒ ๋ฒกํ„ฐ ๊ธ€๊ผด์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์ง€์›๋˜์—ˆ๋˜ COLRv0 ํ˜•์‹๊ณผ ๋‹ฌ๋ฆฌ COLRv1์—๋Š” ์ด์ œ ๊ทธ๋ผ๋ฐ์ด์…˜, ์˜ค๋ฒ„๋ ˆ์ด ๋ฐ ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํ˜•์‹์€ ์ปดํŒฉํŠธํ•œ ์ €์žฅ ํ˜•์‹์„ ์ œ๊ณตํ•˜๊ณ  ํšจ์œจ์ ์ธ ์••์ถ•์„ ์ œ๊ณตํ•˜๋ฉฐ ์œค๊ณฝ์„ ์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Noto Color Emoji ๊ธ€๊ผด์€ ๋ž˜์Šคํ„ฐ ํ˜•์‹์—์„œ 9MB, COLRv1 ๋ฒกํ„ฐ ํ˜•์‹์—์„œ 1.85MB๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    ํฌ๋กฌ 98 ๋ฆด๋ฆฌ์Šค
  • ์˜ค๋ฆฌ์ง„ ํŠธ๋ผ์ด์–ผ ๋ชจ๋“œ(๋ณ„๋„์˜ ํ™œ์„ฑํ™”๊ฐ€ ํ•„์š”ํ•œ ์‹คํ—˜์  ๊ธฐ๋Šฅ)๋Š” ์บก์ฒ˜๋œ ๋น„๋””์˜ค๋ฅผ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š” ์ง€์—ญ ์บก์ฒ˜ API๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํƒญ์˜ ์ฝ˜ํ…์ธ ๋กœ ๋น„๋””์˜ค๋ฅผ ์บก์ฒ˜ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋ณด๋‚ด๊ธฐ ์ „์— ํŠน์ • ์ฝ˜ํ…์ธ ๋ฅผ ์ž˜๋ผ๋‚ด๊ธฐ ์œ„ํ•ด ์ž๋ฅด๊ธฐ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Origin Trial์€ localhost ๋˜๋Š” 127.0.0.1์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋˜๋Š” ํŠน์ • ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์œ ํšจํ•œ ํŠน์ˆ˜ ํ† ํฐ์„ ๋“ฑ๋กํ•˜๊ณ  ๋ฐ›์€ ํ›„ ์ง€์ •๋œ API๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • CSS ์†์„ฑ "contain-intrinsic-size"๋Š” ์ด์ œ ์š”์†Œ์˜ ๋งˆ์ง€๋ง‰ ๊ธฐ์–ต ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” "auto" ๊ฐ’์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค("content-visibility: auto"์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ์š”์†Œ์˜ ๋ Œ๋”๋ง๋œ ํฌ๊ธฐ๋ฅผ ์ถ”์ธกํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค). .
  • ์˜ค๋””์˜ค ์ถœ๋ ฅ ์ „ ์˜ˆ์ƒ ์ง€์—ฐ(์˜ค๋””์˜ค ์š”์ฒญ๊ณผ ์˜ค๋””์˜ค ์ถœ๋ ฅ ์žฅ์น˜์—์„œ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ์ž‘ ์‚ฌ์ด์˜ ์ง€์—ฐ)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” AudioContext.outputLatency ์†์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์š”์†Œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ‰ ๊ตฌ์„ฑํ‘œ("๋ฐ์Œ", "์–ด๋‘์›€", "์ฃผ๊ฐ„ ๋ชจ๋“œ" ๋ฐ "์•ผ๊ฐ„ ๋ชจ๋“œ")๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” CSS ์†์„ฑ ์ƒ‰์ƒ ๊ตฌ์„ฑํ‘œ์— "only" ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ HTML ์š”์†Œ์— ๋Œ€ํ•œ ๊ฐ•์ œ ์ƒ‰์ƒ ๋ณ€๊ฒฝ ์Šคํ‚ค๋งˆ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "div { color-scheme: only light }"๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋‘์šด ํ…Œ๋งˆ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋”๋ผ๋„ ๋ฐ์€ ํ…Œ๋งˆ๋งŒ div ์š”์†Œ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • HDR(High Dynamic Range)์„ ์ง€์›ํ•˜๋Š” ํ™”๋ฉด์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด CSS์— '๋™์  ๋ฒ”์œ„' ๋ฐ '๋น„๋””์˜ค ๋™์  ๋ฒ”์œ„' ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • window.open() ํ•จ์ˆ˜์— ๋งํฌ๋ฅผ ์ƒˆ ํƒญ, ์ƒˆ ์ฐฝ, ํŒ์—… ์ฐฝ์—์„œ ์—ด์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ window.statusbar.visible ์†์„ฑ์€ ์ด์ œ ํŒ์—…์— ๋Œ€ํ•ด "false"๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ํƒญ๊ณผ ์ฐฝ์— ๋Œ€ํ•ด "true"๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. const popup = window.open('_blank',,"'popup=1'); // ํŒ์—… ์ฐฝ์—์„œ ์—ด๊ธฐ const tab = window.open('_blank',,โ€'popup=0โ€ฒ); // ํƒญ์—์„œ ์—ด๊ธฐ
  • Windows ๋ฐ Worker์šฉ์œผ๋กœ StructuredClone() ๋ฉ”์„œ๋“œ๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ง€์ •๋œ ๊ฐœ์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ˜„์žฌ ๊ฐœ์ฒด์—์„œ ์ฐธ์กฐํ•˜๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐœ์ฒด์˜ ์†์„ฑ์„ ํฌํ•จํ•˜๋Š” ๊ฐœ์ฒด์˜ ์žฌ๊ท€์  ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ์ธ์ฆ API์—๋Š” ํ—ˆ์šฉ๋˜๋Š” ์ตœ์†Œ PIN ์ฝ”๋“œ ํฌ๊ธฐ(minPinLength)๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” FIDO CTAP2 ์‚ฌ์–‘ ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์„ค์น˜๋œ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ ์ฐฝ ์ปจํŠธ๋กค ์˜ค๋ฒ„๋ ˆ์ด ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ํ‘œ์ค€ ์ฐฝ ์ œ์–ด ๋ฒ„ํŠผ(๋‹ซ๊ธฐ, ์ตœ์†Œํ™”, ์ตœ๋Œ€ํ™”)์ด ์žˆ๋Š” ์ œ๋ชฉ ์˜์—ญ์„ ํฌํ•จํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ™”๋ฉด ์˜์—ญ์„ ์ „์ฒด ์ฐฝ์œผ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฒน์ณ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฐฝ ์ œ์–ด ๋ฒ„ํŠผ์ด ์žˆ๋Š” ์˜ค๋ฒ„๋ ˆ์ด ๋ธ”๋ก์„ ์ œ์™ธํ•˜๊ณ  ์ „์ฒด ์ฐฝ์˜ ๋ Œ๋”๋ง ๋ฐ ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • AbortSignal ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” WritableStreamDefaultController์— ์‹ ํ˜ธ ์ฒ˜๋ฆฌ ์†์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  WritableStream์— ๋Œ€ํ•œ ์“ฐ๊ธฐ๋ฅผ ์ฆ‰์‹œ ์ค‘์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • WebRTC๋Š” ๋ณด์•ˆ ๋ฌธ์ œ๋กœ ์ธํ•ด 2013๋…„ IETF์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” SDES ํ‚ค ๊ณ„์•ฝ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ U2F(Cryptotoken) API๋Š” ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด์ „์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ์›น ์ธ์ฆ API๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. U2F API๋Š” Chrome 104์—์„œ ์™„์ „ํžˆ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.
  • API ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ Installed_browser_version ํ•„๋“œ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๋ณด๋ฅ˜ ์ค‘์ธ_browser_version ํ•„๋“œ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•„๋“œ์—๋Š” ๋‹ค์šด๋กœ๋“œ๋˜์—ˆ์ง€๋งŒ ์ ์šฉ๋˜์ง€ ์•Š์€ ์—…๋ฐ์ดํŠธ(์ฆ‰, ๋‹ค์Œ ์ดํ›„์— ์œ ํšจํ•œ ๋ฒ„์ „)๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์—์„œ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค).
  • TLS 1.0 ๋ฐ 1.1์— ๋Œ€ํ•œ ์ง€์›์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋’ค๋กœ ๋ฐ ์•ž์œผ๋กœ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฆ‰๊ฐ์ ์ธ ํƒ์ƒ‰์„ ์ œ๊ณตํ•˜๋Š” ๋’ค๋กœ ์•ž์œผ๋กœ ์บ์‹œ์˜ ์ž‘๋™์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ํƒญ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ ์ƒ‰์ƒ ๋ฏธ๋””์–ด ์š”์ฒญ์„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ–‰ ์—ญ๋ฐฉํ–ฅ ๋ฐ ์—ด ์—ญ๋ฐฉํ–ฅ ์†์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Flexbox ํŽธ์ง‘๊ธฐ์— ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. "๋ณ€๊ฒฝ ์‚ฌํ•ญ" ํƒญ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ ํ˜•์‹์„ ์ง€์ •ํ•œ ํ›„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜๋ฏ€๋กœ ์ถ•์†Œ๋œ ํŽ˜์ด์ง€์˜ ๊ตฌ๋ฌธ ๋ถ„์„์ด ๋‹จ์ˆœํ™”๋ฉ๋‹ˆ๋‹ค.
    ํฌ๋กฌ 98 ๋ฆด๋ฆฌ์Šค

    ์ฝ”๋“œ ๊ฒ€ํ†  ํŒจ๋„์˜ ๊ตฌํ˜„์ด CodeMirror 6 ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ ๋ฆด๋ฆฌ์Šค๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋งค์šฐ ํฐ ํŒŒ์ผ(WASM, JavaScript) ์ž‘์—… ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ํƒ์ƒ‰ ์ค‘ ์ž„์˜ ์˜คํ”„์…‹ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ํŽธ์ง‘ ์‹œ ์ž๋™ ์™„์„ฑ ์‹œ์Šคํ…œ. ์†์„ฑ ์ด๋ฆ„์ด๋‚˜ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์ด CSS ์†์„ฑ ํŒจ๋„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ํฌ๋กฌ 98 ๋ฆด๋ฆฌ์Šค

ํ˜์‹ ๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” 27๊ฐœ์˜ ์ทจ์•ฝ์ ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ๋ฐ AFL ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ๋กœ ๋งŽ์€ ์ทจ์•ฝ์ ์ด ์‹๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ˆ˜์ค€์˜ ๋ธŒ๋ผ์šฐ์ € ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์˜ ์ทจ์•ฝ์  ๋ฐœ๊ฒฌ์— ๋Œ€ํ•œ ํ˜„๊ธˆ ๋ณด์ƒ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผํ™˜์œผ๋กœ Google์€ 19๋‹ฌ๋Ÿฌ ์ƒ๋‹น์˜ 88๊ฐœ ์ƒ(20000๊ฐœ $12000 ์ƒ, 7500๊ฐœ $1000 ์ƒ, 7000๊ฐœ $5000 ์ƒ, 3000๊ฐœ $2000 ์ƒ, ๊ฐ XNUMX๊ฐœ $XNUMX, $XNUMX, $XNUMX ๋ฐ $XNUMX)์„ ์ง€๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. .

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€