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

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

์ฃผ์š” ๋ณ€๊ฒฝ ะฒ ํฌ๋กฌ 80:

  • ์†Œ์ˆ˜์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์œ ์‚ฌํ•œ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ํƒญ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๊ทธ๋ฃน์œผ๋กœ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ํƒญ ๊ทธ๋ฃนํ™” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ทธ๋ฃน์—๋Š” ๊ณ ์œ ํ•œ ์ƒ‰์ƒ๊ณผ ์ด๋ฆ„์ด ์ง€์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ™œ์„ฑํ™” ๊ณผ์ •์— ํฌํ•จ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋Š” 'chrome://flags/#tab-groups' ์˜ต์…˜์„ ํ†ตํ•ด ๊ทธ๋ฃนํ™” ์ง€์›์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋กค-ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด "a name" ํƒœ๊ทธ๋‚˜ "id" ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ์—์„œ ๋ ˆ์ด๋ธ”์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐœ๋ณ„ ๋‹จ์–ด๋‚˜ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งํฌ์˜ ๊ตฌ๋ฌธ์€ ์•„์ง ๋‹จ๊ณ„์ธ ์›น ํ‘œ์ค€์œผ๋กœ ์Šน์ธ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ดˆ์•ˆ. ์ „ํ™˜ ๋งˆ์Šคํฌ(๊ธฐ๋ณธ์ ์œผ๋กœ ์Šคํฌ๋กค ๊ฒ€์ƒ‰)๋Š” ":~:" ์†์„ฑ์œผ๋กœ ์ผ๋ฐ˜ ์•ต์ปค์™€ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "https://opennet.ru/52312/#:~:text=Chrome" ๋งํฌ๋ฅผ ์—ด๋ฉด ํŽ˜์ด์ง€๋Š” "Chrome"์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์ฒ˜์Œ ์–ธ๊ธ‰๋œ ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ณ  ์ด ๋‹จ์–ด๊ฐ€ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. .
  • ์ ์šฉ๋œ ๋น„HTTPS ์š”์ฒญ์˜ ๊ฒฝ์šฐ ์‚ฌ์ดํŠธ ๊ฐ„ ์ฟ ํ‚ค ์ „์†ก์— ๋Œ€ํ•œ ๋ณด๋‹ค ์—„๊ฒฉํ•œ ์ œํ•œ์ด ์ ์šฉ๋˜์–ด ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ๋„๋ฉ”์ธ์ด ์•„๋‹Œ ์‚ฌ์ดํŠธ์— ์•ก์„ธ์Šคํ•  ๋•Œ ์„ค์ •๋œ ์ œXNUMX์ž ์ฟ ํ‚ค ์ฒ˜๋ฆฌ๊ฐ€ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฟ ํ‚ค๋Š” ๊ด‘๊ณ  ๋„คํŠธ์›Œํฌ, ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์œ„์ ฏ ๋ฐ ์›น ๋ถ„์„ ์‹œ์Šคํ…œ์˜ ์ฝ”๋“œ์—์„œ ์‚ฌ์ดํŠธ ๊ฐ„ ์‚ฌ์šฉ์ž ์ด๋™์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค ์ „์†ก์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด Set-Cookie ํ—ค๋”์— ์ง€์ •๋œ SameSite ์†์„ฑ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ์ด์ œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์ดํŠธ ๊ฐ„ ํ•˜์œ„ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฟ ํ‚ค ์ „์†ก์„ ์ œํ•œํ•˜๋Š” "SameSite=Lax" ๊ฐ’์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. , ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฏธ์ง€ ์š”์ฒญ์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์˜ iframe์„ ํ†ตํ•œ ์ฝ˜ํ…์ธ  ๋กœ๋“œ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ์—์„œ๋Š” ์ฟ ํ‚ค ์„ค์ •์„ SameSite=None์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๊ธฐ๋ณธ SameSite ๋™์ž‘์„ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฟ ํ‚ค์˜ SameSite=None ๊ฐ’์€ ๋ณด์•ˆ ๋ชจ๋“œ์—์„œ๋งŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(HTTPS๋ฅผ ํ†ตํ•œ ์—ฐ๊ฒฐ์— ์œ ํšจํ•จ). ๋ณ€ํ™”๋Š” ๋‹จ๊ณ„์ ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค ๋Œ€๋‹ค 17์›” XNUMX์ผ, ์ฒ˜์Œ์—๋Š” ์†Œ์ˆ˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ ํ›„ ์ ์ฐจ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ํ™•๋Œ€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋จ ์ž๊ฒฉ ์ฆ๋ช… ํ™•์ธ๊ณผ ๊ด€๋ จ๋œ ์„ฑ๊ฐ€์‹  ์•Œ๋ฆผ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŒธ ํ‘ธ์‹œ ์•Œ๋ฆผ ์š”์ฒญ๊ณผ ๊ฐ™์€ ํ™œ๋™์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ฐฉํ•ดํ•˜๊ณ  ํ™•์ธ ๋Œ€ํ™” ์ƒ์ž์—์„œ ์ฃผ์˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— Chrome 80์—์„œ๋Š” ๋ณ„๋„์˜ ๋Œ€ํ™” ์ƒ์ž ๋Œ€์‹  ์ด์ œ ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— ๊ถŒํ•œ ์š”์ฒญ์ด ์ฐจ๋‹จ๋˜์—ˆ์Œ์„ ๊ฒฝ๊ณ ํ•˜๋Š” ์ •๋ณด ๋„๊ตฌ ์„ค๋ช…์ด ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. X ํ‘œ์‹œ๊ฐ€ ๋œ ์ข… ๋ชจ์–‘์˜ ํ‘œ์‹œ๊ธฐ๋กœ ์ถ•์†Œ๋ฉ๋‹ˆ๋‹ค. ํ‘œ์‹œ๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ์š”์ฒญ๋œ ๊ถŒํ•œ์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ผ๋ฐ˜์ ์œผ๋กœ ์ฐจ๋‹จํ–ˆ๋˜ ์‚ฌ์šฉ์ž์™€ ๊ฑฐ๋ถ€๋œ ์š”์ฒญ์˜ ๋น„์œจ์ด ๋†’์€ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด ์ž๋™์œผ๋กœ ์ƒˆ ๋ชจ๋“œ๊ฐ€ ์„ ํƒ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์š”์ฒญ์— โ€‹โ€‹๋Œ€ํ•ด ์ƒˆ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„ค์ •์— ํŠน์ˆ˜ ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(chrome://flags/#quiet-notification-prompts).

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

  • ๊ธˆ์ง€ ํŒ์—… ์ฐฝ ํ‘œ์‹œ(window.open() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ) ๋ฐ ํŽ˜์ด์ง€ ๋‹ซ๊ธฐ ๋˜๋Š” ์ˆจ๊ธฐ๊ธฐ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ(unload, beforeunload, pagehide ๋ฐ visiblechange)์—์„œ ๋™๊ธฐ์‹ XMLHttpRequest ์ „์†ก
  • ์ œ์•ˆ๋œ ์ด๋‹ˆ์…œ ์•ˆ์ „ ํ˜ผํ•ฉ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฝ˜ํ…์ธ  ๋กœ๋“œ(http:// ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด HTTPS ํŽ˜์ด์ง€์— ๋ฆฌ์†Œ์Šค๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๊ฒฝ์šฐ). HTTPS๋ฅผ ํ†ตํ•ด ์—ด๋ฆฐ ํŽ˜์ด์ง€์—์„œ๋Š” ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค ํŒŒ์ผ ์žฌ์ƒ๊ณผ ๊ด€๋ จ๋œ ๋ธ”๋ก์—์„œ "http://" ๋งํฌ๊ฐ€ ์ž๋™์œผ๋กœ "https://"๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. https๋ฅผ ํ†ตํ•ด ์˜ค๋””์˜ค ๋˜๋Š” ๋น„๋””์˜ค ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ ์ž๋ฌผ์‡  ๊ธฐํ˜ธ๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด ์ฐจ๋‹จ์„ ์ˆ˜๋™์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋ฏธ์ง€๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์ฑ„ ๊ณ„์† ๋กœ๋“œ๋˜์ง€๋งŒ(Chrome 81์—์„œ๋Š” ์ž๋™ ์ˆ˜์ •์ด ์ ์šฉ๋จ) ์ด๋ฅผ https ๋˜๋Š” ์ฐจ๋‹จ ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์ดํŠธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ CSP ์†์„ฑ์ธ ์—…๊ทธ๋ ˆ์ด๋“œ-๋ถˆ์•ˆ์ „-์š”์ฒญ ๋ฐ ์ฐจ๋‹จ-๋ชจ๋“ -ํ˜ผํ•ฉ-์ฝ˜ํ…์ธ ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ๋ฐ iframe์˜ ๊ฒฝ์šฐ ํ˜ผํ•ฉ ์ฝ˜ํ…์ธ  ์ฐจ๋‹จ์ด ์ด๋ฏธ ์ด์ „์— ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ ์ง„์ ์ธ ์…ง๋‹ค์šด FTP ์ง€์›. ๊ธฐ๋ณธ์ ์œผ๋กœ FTP ์ง€์›์€ ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ˆ˜ํ–‰ ํŠน์ • ๋น„์œจ์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด FTP ์ง€์›์ด ๋น„ํ™œ์„ฑํ™”๋˜๋Š” ์‹คํ—˜์ž…๋‹ˆ๋‹ค(๋˜๋Œ๋ฆฌ๋ ค๋ฉด "-enable-ftp" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค). ์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” "ftp://" ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œํ•œ ๋ฆฌ์†Œ์Šค ๋‚ด์šฉ์˜ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํ‘œ์‹œ๊ฐ€ ์ด๋ฏธ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์—ˆ๊ณ (์˜ˆ: HTML ๋ฌธ์„œ ๋ฐ README ํŒŒ์ผ ํ‘œ์‹œ๊ฐ€ ์ค‘์ง€๋จ) FTP ์‚ฌ์šฉ์ด ๋ฌธ์„œ์—์„œ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ๊ธˆ์ง€๋˜์—ˆ์œผ๋ฉฐ FTP์— ๋Œ€ํ•œ ํ”„๋ก์‹œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง์ ‘ ๋งํฌ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋จ
    ๋ฒกํ„ฐ SVG ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์ดํŠธ ์•„์ด์ฝ˜(ํŒŒ๋น„์ฝ˜)์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ.

  • ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ๋™๊ธฐํ™” ์ค‘์— ์ „์†ก๋˜๋Š” ํŠน์ • ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์„ค์ •์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ค‘์•™์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๊ธฐ์—… ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ทœ์น™์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ ํ™•์žฅ ์ฐจ๋‹จ, ์žฅ์น˜์— ์™ธ๋ถ€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ์„ค์น˜๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌํ˜„ ๊ธฐํšŒ JavaScript์˜ ์ „์ฒด ์†์„ฑ ์ฒด์ธ ๋˜๋Š” ํ˜ธ์ถœ์„ ์ผํšŒ์„ฑ์œผ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ์กด์—๋Š” โ€œdb.user.name.lengthโ€์— ์ ‘๊ทผํ•  ๋•Œ โ€œif(db && db.user && db.user.name)โ€ ๋“ฑ์„ ํ†ตํ•ด ๋‹จ๊ณ„๋ณ„๋กœ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ •์˜๋ฅผ ํ™•์ธํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ "?" ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ „ ํ™•์ธ ์—†์ด "db?.user?.name?.length" ๊ฐ’์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ์•ก์„ธ์Šค๋Š” ์˜ค๋ฅ˜๋กœ ์ด์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ(์ผ๋ถ€ ์š”์†Œ๊ฐ€ null ๋˜๋Š” ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒฝ์šฐ) ์ถœ๋ ฅ์€ "์ •์˜๋˜์ง€ ์•Š์Œ"์ด ๋ฉ๋‹ˆ๋‹ค.
  • JavaScript๋Š” ์ƒˆ๋กœ์šด ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž๋ฅผ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.??", ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ NULL์ด๊ฑฐ๋‚˜ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "const foo = bar ?? bar๊ฐ€ null์ธ ๊ฒฝ์šฐ '๊ธฐ๋ณธ ๋ฌธ์ž์—ด'"์€ "||" ์—ฐ์‚ฐ์ž์™€ ๋ฐ˜๋Œ€๋กœ bar๊ฐ€ 0์ด๊ณ  ''์ธ ๊ฒฝ์šฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ bar์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • Origin Trials ๋ชจ๋“œ(๋ณ„๋„์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ์‹คํ—˜์  ๊ธฐ๋Šฅ) ํ™œ์„ฑํ™”) Content Indexing API๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. Origin Trial์€ localhost ๋˜๋Š” 127.0.0.1์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋˜๋Š” ํŠน์ • ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์œ ํšจํ•œ ํŠน์ˆ˜ ํ† ํฐ์„ ๋“ฑ๋กํ•˜๊ณ  ๋ฐ›์€ ํ›„ ์ง€์ •๋œ API๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. API ์ฝ˜ํ…์ธ  ์ธ๋ฑ์‹ฑ๋Š” PWS(Progressive Web Apps) ๋ชจ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜ํ•ด ์ด์ „์— ์บ์‹œ๋œ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด๋ฏธ์ง€, ๋™์˜์ƒ, ๊ธฐ์‚ฌ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์ธก์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š๊ธธ ๊ฒฝ์šฐ Cache Storage ๋ฐ IndexedDB API๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Content Indexing API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€, ๊ฒ€์ƒ‰ ๋ฐ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด API๋Š” ์˜คํ”„๋ผ์ธ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๋ชฉ๋ก๊ณผ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๋ฐ ์ด๋ฏธ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

  • ์•ˆ์ •ํ™”๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ Origin Trials API ์™ธ๋ถ€์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์—ฐ๋ฝ์ฒ˜ ์„ ํƒ๊ธฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ์†Œ๋ก์—์„œ ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๊ณ  ํ•ด๋‹น ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ํŠน์ • ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์‚ฌ์ดํŠธ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์€ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•˜๋Š” ์†์„ฑ ๋ชฉ๋ก์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†์„ฑ์€ ํ•ด๋‹น ์†์„ฑ์„ ์ „๋‹ฌํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. API๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ธ ํŽธ์ง€์˜ ์ˆ˜์‹ ์ž๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜, VoIP ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํŠน์ • ๋ฒˆํ˜ธ๋กœ ์ „ํ™”๋ฅผ ๊ฑธ๊ฑฐ๋‚˜, ์†Œ์…œ ๋„คํŠธ์›Œํฌ์—์„œ ์ด๋ฏธ ๋“ฑ๋ก๋œ ์นœ๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. . ๋™์‹œ์— Origin Trials์˜ ์ผ๋ถ€๋กœ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ์—ฐ๋ฝ์ฒ˜ ์„ ํƒ ์†์„ฑ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„, ์ด๋ฉ”์ผ ๋ฐ ์ „ํ™”๋ฒˆํ˜ธ ์™ธ์—๋„ ์ด๋ฉ”์ผ ์ฃผ์†Œ ๋ฐ ์ด๋ฏธ์ง€๋ฅผ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ์›Œ์ปค์—์„œ ์ œ์•ˆ ECMAScript ๋ชจ๋“ˆ์„ ๋กœ๋“œํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€์ ธ์˜จ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์ž‘์—…์ž๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ์ „์—ญ ์ปจํ…์ŠคํŠธ์—์„œ ์‹คํ–‰ํ•˜๋Š” importScripts() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์—๋Š” ํ‘œ์ค€ JavaScript ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•˜๊ณ  ์ž‘์—…์ž ์‹คํ–‰์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š๊ณ  ๋™์ ์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์ž‘์—…์ž์šฉ ํŠน์ˆ˜ ๋ชจ๋“ˆ์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด Worker ์ƒ์„ฑ์ž๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค ์œ ํ˜•์ธ '๋ชจ๋“ˆ'์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    const ์ž‘์—…์ž = ์ƒˆ Worker('worker.js', {
    ์œ ํ˜•: '๋ชจ๋“ˆ'
    });

  • ๊ตฌํ˜„ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š” ์—†์ด ์••์ถ•๋œ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” JavaScript์˜ ๋‚ด์žฅ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์••์ถ• ๋ฐ ์••์ถ• ํ•ด์ œ๋ฅผ ์œ„ํ•œ API๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CompressionStream ๋ฐ DecompressionStream. gzip ๋ฐ deflate ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ ์••์ถ•์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

    const ์••์ถ•ReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

  • CSS ์†์„ฑ "์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.์ค„๋ฐ”๊ฟˆ: ์–ด๋””์„œ๋‚˜"๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต๋ฐฑ( ) ๊ทธ๋ฆฌ๊ณ  ๋‹จ์–ด ์ค‘๊ฐ„์—. CSS ์†์„ฑ๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์˜ค๋ฒ„ํ”Œ๋กœ ๋žฉ: ์–ด๋””์„œ๋‚˜ยป ์ค„์—์„œ ์ ์ ˆํ•œ ๊ตฌ๋ถ„ ์œ„์น˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์–ด๋””์—์„œ๋‚˜ ๋Š์–ด์ง€์ง€ ์•Š์€ ๋ฌธ์ž ์‹œํ€€์Šค๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•”ํ˜ธํ™”๋œ ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฏธ๋””์–ด ์ปจํ…์ŠคํŠธ์— ๋Œ€ํ•ด ๋ฉ”์†Œ๋“œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MediaCapability.decodingInfo(), ๋ณดํ˜ธ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๋””์ฝ”๋”ฉํ•˜๊ธฐ ์œ„ํ•œ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€์—ญํญ ๋ฐ ํ™”๋ฉด ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ ํ’ˆ์งˆ ๋˜๋Š” ์—๋„ˆ์ง€ ํšจ์œจ์ ์ธ ๋””์ฝ”๋”ฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋œ ๋ฐฉ๋ฒ• HTMLVideoElement.getVideoPlaybackQuality()๋ฅผ ํ†ตํ•ด ๋น„๋””์˜ค ์žฌ์ƒ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป๊ณ  ๋น„ํŠธ ์ „์†ก๋ฅ , ํ•ด์ƒ๋„ ๋ฐ ๊ธฐํƒ€ ๋น„๋””์˜ค ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • API์—์„œ ๊ฒฐ์ œ ์ฒ˜๋ฆฌ์ž๊ธฐ์กด ๊ฒฐ์ œ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ๋‹จ ๊ฒฐ์ œ ์‹œ์Šคํ…œ์˜ ์™ธ๋ถ€ ํ”„๋กœ์„ธ์„œ์— ๋Œ€ํ•œ ์ฃผ์†Œ ๋ฐ ์—ฐ๋ฝ์ฒ˜ ์ •๋ณด ์ฒ˜๋ฆฌ(๊ฒฐ์ œ ์‹œ์Šคํ…œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ธŒ๋ผ์šฐ์ €๋ณด๋‹ค ๋” ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ)
  • HTTP ํ—ค๋” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ฐ˜ ์ž…, ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ์ฝ˜ํ…์ธ  ์œ ํ˜•์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: img ํƒœ๊ทธ๋ฅผ ํ†ตํ•œ ์š”์ฒญ์˜ ๊ฒฝ์šฐ ์œ ํ˜•์€ "์ด๋ฏธ์ง€", ๊ธ€๊ผด์˜ ๊ฒฝ์šฐ "๊ธ€๊ผด", ์Šคํฌ๋ฆฝํŠธ์˜ ๊ฒฝ์šฐ "์Šคํฌ๋ฆฝํŠธ", ์Šคํƒ€์ผ์˜ ๊ฒฝ์šฐ - "์Šคํƒ€์ผ" ๋“ฑ ). ์ง€์ •๋œ ์œ ํ˜•์— ๋”ฐ๋ผ ์„œ๋ฒ„๋Š” ํŠน์ • ์œ ํ˜•์˜ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์†ก๊ธˆ ํ•ธ๋“ค๋Ÿฌ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ img ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ์ง€์ •๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์œผ๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ์š”์ฒญ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค).
  • JavaScript ์—”์ง„ V8์—์„œ ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค ํž™์— ํฌ์ธํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด 64๋น„ํŠธ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋Œ€์‹  ํฌ์ธํ„ฐ์˜ ๊ณ ์œ ํ•œ ํ•˜์œ„ ๋น„ํŠธ๋งŒ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด 40~3%์˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๊ฐ์ˆ˜ํ•˜๋ฉด์„œ ํž™ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ 8%๊นŒ์ง€ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    ํฌ๋กฌ 80 ๋ฆด๋ฆฌ์Šค

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

  • ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋„๊ตฌ:
    • ์ด์ œ ์›น ์ฝ˜์†”์—๋Š” let ๋ฐ class ํ‘œํ˜„์‹์„ ์žฌ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

    • ํ–ฅ์ƒ๋œ WebAssembly ๋””๋ฒ„๊น… ๋„๊ตฌ. ์ถ”๊ฐ€๋œ ์ง€์› ๋‚œ์Ÿ์ด WebAssembly ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ์˜ ๋‹จ๊ณ„๋ณ„ ๋””๋ฒ„๊น…, ์ค‘๋‹จ์  ์ง€์ • ๋ฐ ์Šคํƒ ์ถ”์  ๋ถ„์„์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

    • ๋„คํŠธ์›Œํฌ ํ™œ๋™ ๋ถ„์„์„ ์œ„ํ•œ ํ–ฅ์ƒ๋œ ํŒจ๋„. ์š”์ฒญ ์‹œ์ž‘๊ณผ ๊ด€๋ จ๋œ ์Šคํฌ๋ฆฝํŠธ ํ˜ธ์ถœ ์ฒด์ธ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

      ๊ฐ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์˜ ์ ˆ๋Œ€ ๊ฒฝ๋กœ์™€ ์ „์ฒด URL์„ ํ‘œ์‹œํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ฒฝ๋กœ ๋ฐ URL ์—ด์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒํ•œ ์ฟผ๋ฆฌ๊ฐ€ ๊ฐœ์š” ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ๊ฐ•์กฐ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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

    • ๋„คํŠธ์›Œํฌ ์กฐ๊ฑด ํƒญ์— User-Agent ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

    • ๊ฐ์‚ฌ ํŒจ๋„ ๊ตฌ์„ฑ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      ํฌ๋กฌ 80 ๋ฆด๋ฆฌ์Šค

    • ํƒญ์—์„œ ์ ์šฉ ๋ฒ”์œ„ ๊ฐ ๊ธฐ๋Šฅ ๋˜๋Š” ๊ฐ ์ฝ”๋“œ ๋ธ”๋ก์— ๋Œ€ํ•ด ์ ์šฉ ๋ฒ”์œ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ์„ ํƒ๊ถŒ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค(๋” ์ž์„ธํ•œ ํ†ต๊ณ„๊ฐ€ ์žˆ์ง€๋งŒ ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•จ).

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

  • AppCache ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์•ก์…˜(์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž‘๋™์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ์ˆ ) ์ œํ•œ๋œ ์‚ฌ์ดํŠธ์˜ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ(๋งค๋‹ˆํŽ˜์ŠคํŠธ๊ฐ€ www.example.com/foo/bar/์—์„œ ๋‹ค์šด๋กœ๋“œ๋œ ๊ฒฝ์šฐ URL ์žฌ์ •์˜ ๊ธฐ๋Šฅ์€ /foo/bar/ ๋‚ด์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.) AppCache ์ง€์›์€ Chrome 82์—์„œ ์™„์ „ํžˆ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ธ์šฉ๋œ ์ด์œ ๋Š” ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ… ๊ณต๊ฒฉ์˜ ๋ฒกํ„ฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋Š” ์š•๊ตฌ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. AppCache ๋Œ€์‹  API ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ.
  • ๋‹จ์ข… API๋กœ ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ๋Š” ๋ ˆ๊ฑฐ์‹œ WebVR 1.1 API ์ง€์› WebXR ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€์ƒ ๋ฐ ์ฆ๊ฐ• ํ˜„์‹ค์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์— ์•ก์„ธ์Šคํ•˜๊ณ  ๊ณ ์ •์‹ ๊ฐ€์ƒ ํ˜„์‹ค ํ—ฌ๋ฉง๋ถ€ํ„ฐ ๋ชจ๋ฐ”์ผ ์žฅ์น˜ ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค์˜ ์žฅ์น˜์™€์˜ ์ž‘์—…์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • RegisterProtocolHandler() ๋ฐ unregisterProtocolHandler() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ํ”„๋กœํ† ์ฝœ ํ•ธ๋“ค๋Ÿฌ๋Š” ์ด์ œ ๋ณด์•ˆ ์ปจํ…์ŠคํŠธ(HTTPS๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ๋•Œ)์—์„œ๋งŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜์‹  ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ ์ƒˆ ๋ฒ„์ „์€ ๋‹ค์Œ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. 56๊ฐœ์˜ ์ทจ์•ฝ์ . ๋งŽ์€ ์ทจ์•ฝ์ ์ด ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ๋„๊ตฌ์˜ ๊ฒฐ๊ณผ๋กœ ์‹๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์†Œ์„ธ๋‹ˆํƒ€์ด์ €, ๋ฉ”๋ชจ๋ฆฌ์„ธ๋‹ˆํƒ€์ด์ €, ์ œ์–ด ํ๋ฆ„ ๋ฌด๊ฒฐ์„ฑ, LibFuzzer ะธ AFL. ๋ชจ๋“  ์ˆ˜์ค€์˜ ๋ธŒ๋ผ์šฐ์ € ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์˜ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•œ ๋Œ€๊ฐ€๋กœ ํ˜„๊ธˆ ๋ณด์ƒ์„ ์ง€๊ธ‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ผํ™˜์œผ๋กœ Google์€ 37๋‹ฌ๋Ÿฌ ์ƒ๋‹น์˜ 48๊ฐœ ์ƒ(10000๊ฐœ $5000 ์ƒ, 3000๊ฐœ $2000 ์ƒ, 1000๊ฐœ $500 ์ƒ, 17๊ฐœ $XNUMX ์ƒ, XNUMX๊ฐœ $XNUMX ์ƒ, XNUMX๊ฐœ $XNUMX ์ƒ)์„ ์ง€๋ถˆํ–ˆ์Šต๋‹ˆ๋‹ค. XNUMX๊ฐœ ๋ณด์ƒ์˜ ๊ทœ๋ชจ๋Š” ์•„์ง ๊ฒฐ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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