Google
- ์์์ ์ฌ์ฉ์์๊ฒ๋ ์ ์ฌํ ๋ชฉ์ ์ ๊ฐ์ง ์ฌ๋ฌ ํญ์ ์๊ฐ์ ์ผ๋ก ๊ตฌ๋ถ๋ ๊ทธ๋ฃน์ผ๋ก ๊ฒฐํฉํ ์ ์๋ ํญ ๊ทธ๋ฃนํ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค. ๊ฐ ๊ทธ๋ฃน์๋ ๊ณ ์ ํ ์์๊ณผ ์ด๋ฆ์ด ์ง์ ๋ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ํ์ฑํ ๊ณผ์ ์ ํฌํจ๋์ง ์์ ์ฌ์ฉ์๋ 'chrome://flags/#tab-groups' ์ต์
์ ํตํด ๊ทธ๋ฃนํ ์ง์์ ํ์ฑํํ ์ ์์ต๋๋ค.
- ์ด ๊ธฐ๋ฅ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์คํฌ๋กค-ํ ์คํธ ๋ฅผ ์ฌ์ฉํ๋ฉด "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). -
๊ธ์ง ํ์ ์ฐฝ ํ์(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๋ ์คํ๋ผ์ธ์ผ๋ก ๋ณผ ์ ์๋ ํ์ด์ง ๋ชฉ๋ก๊ณผ ๋ฉํฐ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ฅผ ๋์ดํ๋ ๋ฐ ์ด๋ฏธ ์ฌ์ฉ๋์์ต๋๋ค. - ์์ ํ๋์์ผ๋ฉฐ ์ด์ 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%๊น์ง ์ค์ผ ์ ์์์ต๋๋ค.
-
๋ณ๊ฒฝ ์ฌํญ ์น ๊ฐ๋ฐ์๋ฅผ ์ํ ๋๊ตฌ:- ์ด์ ์น ์ฝ์์๋ let ๋ฐ class ํํ์์ ์ฌ์ ์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- ํฅ์๋ WebAssembly ๋๋ฒ๊น
๋๊ตฌ. ์ถ๊ฐ๋ ์ง์
๋์์ด WebAssembly ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ฑ๋ ์์ค ์ฝ๋์ ๋จ๊ณ๋ณ ๋๋ฒ๊น , ์ค๋จ์ ์ง์ ๋ฐ ์คํ ์ถ์ ๋ถ์์ ์ํ ๊ฒ์ ๋๋ค. - ๋คํธ์ํฌ ํ๋ ๋ถ์์ ์ํ ํฅ์๋ ํจ๋. ์์ฒญ ์์๊ณผ ๊ด๋ จ๋ ์คํฌ๋ฆฝํธ ํธ์ถ ์ฒด์ธ์ ๋ณผ ์ ์๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๊ฐ ๋คํธ์ํฌ ๋ฆฌ์์ค์ ์ ๋ ๊ฒฝ๋ก์ ์ ์ฒด URL์ ํ์ํ๋ ์๋ก์ด ๊ฒฝ๋ก ๋ฐ URL ์ด์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ ํํ ์ฟผ๋ฆฌ๊ฐ ๊ฐ์ ๋ค์ด์ด๊ทธ๋จ์์ ๊ฐ์กฐ ํ์๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
- ๋คํธ์ํฌ ์กฐ๊ฑด ํญ์ User-Agent ๋งค๊ฐ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๋ ์ต์
์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ฐ์ฌ ํจ๋ ๊ตฌ์ฑ์ ์ํ ์๋ก์ด ์ธํฐํ์ด์ค๊ฐ ์ ์๋์์ต๋๋ค.
- ํญ์์
์ ์ฉ ๋ฒ์ ๊ฐ ๊ธฐ๋ฅ ๋๋ ๊ฐ ์ฝ๋ ๋ธ๋ก์ ๋ํด ์ ์ฉ ๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ ์ ์๋ ์ ํ๊ถ์ ์ ๊ณตํ์ต๋๋ค(๋ ์์ธํ ํต๊ณ๊ฐ ์์ง๋ง ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํจ).
- ์ด์ ์น ์ฝ์์๋ let ๋ฐ class ํํ์์ ์ฌ์ ์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- AppCache ๋งค๋ํ์คํธ ์ก์
(์คํ๋ผ์ธ ๋ชจ๋์์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์๋์ ๊ตฌ์ฑํ๋ ๊ธฐ์ )
์ ํ๋ ์ฌ์ดํธ์ ํ์ฌ ๋๋ ํฐ๋ฆฌ(๋งค๋ํ์คํธ๊ฐ www.example.com/foo/bar/์์ ๋ค์ด๋ก๋๋ ๊ฒฝ์ฐ URL ์ฌ์ ์ ๊ธฐ๋ฅ์ /foo/bar/ ๋ด์์๋ง ์๋ํฉ๋๋ค.) AppCache ์ง์์ Chrome 82์์ ์์ ํ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค. ์ธ์ฉ๋ ์ด์ ๋ ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ ๊ณต๊ฒฉ์ ๋ฒกํฐ ์ค ํ๋๋ฅผ ์ ๊ฑฐํ๋ ค๋ ์๊ตฌ ๋๋ฌธ์ ๋๋ค. AppCache ๋์ API ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.์บ์ . -
๋จ์ข API๋ก ๋์ฒด๋ ์ ์๋ ๋ ๊ฑฐ์ WebVR 1.1 API ์ง์WebXR ์ฅ์น ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ ๋ฐ ์ฆ๊ฐ ํ์ค์ ์์ฑํ๊ธฐ ์ํ ๊ตฌ์ฑ ์์์ ์ก์ธ์คํ๊ณ ๊ณ ์ ์ ๊ฐ์ ํ์ค ํฌ๋ฉง๋ถํฐ ๋ชจ๋ฐ์ผ ์ฅ์น ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ํด๋์ค์ ์ฅ์น์์ ์์ ์ ํตํฉํ ์ ์์ต๋๋ค. - RegisterProtocolHandler() ๋ฐ unregisterProtocolHandler() ๋ฉ์๋๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ํ๋กํ ์ฝ ํธ๋ค๋ฌ๋ ์ด์ ๋ณด์ ์ปจํ ์คํธ(HTTPS๋ฅผ ํตํด ์ก์ธ์คํ ๋)์์๋ง ์๋ํ ์ ์์ต๋๋ค.
ํ์ ๋ฐ ๋ฒ๊ทธ ์์ ์ธ์๋ ์ ๋ฒ์ ์ ๋ค์์ ์ ๊ฑฐํฉ๋๋ค.
์ถ์ฒ : opennet.ru