ํ๋ก ํธ์๋ ์ ํด ๊ฐ์ง API, ์ ํ๋ฆฌ์ผ์ด์ , ๊ตฌํ ๋ฐ ์ค๋ฆฌ์ ๊ณ ๋ ค ์ฌํญ์ ์ดํด๋ณด๊ณ ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํ ๋ ์ค๋งํธํ๊ณ ๋ฐ์์ฑ์ด ๋ฐ์ด๋๋ฉฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ์กด์คํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ์ธ์.
ํ๋ก ํธ์๋ ์ ํด ๊ฐ์ง API: ๊ธ๋ก๋ฒ ์น ๊ฒฝํ์ ์ํ ์ ๊ตฌ์ ์ธ ์ฌ์ฉ์ ํ๋ ๋ชจ๋ํฐ๋ง
์ ์ ๋ ์ํธ ์ฐ๊ฒฐ๋๋ ๋์งํธ ์ธ๊ณ์์ ์ฌ์ฉ์ ํ๋์ ์ดํดํ๋ ๊ฒ์ ์ง์ ์ผ๋ก ์์ธ์ ์ด๊ณ ํจ์จ์ ์ธ ์น ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๊ฐ ์ง์๋ฉ๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ๋ ์ฌ์ฉ์์ ๋จ์ํ ํญ์ ์ด์ด๋ ์ฌ์ฉ์ ๊ฐ์ ๊ตฌ๋ณ์ ๋๋ค. ์ด๋ฌํ ๊ตฌ๋ณ์ ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ฐ ๋ณด์์์ ๊ฐ์ธํ๋ ์ฌ์ฉ์ ์ํธ ์์ฉ ๋ฐ ๋ฐ์ดํฐ ๋ถ์์ ์ด๋ฅด๊ธฐ๊น์ง ๋ชจ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์๋ ๋์ ๊ฐ๋ฐ์๋ ๋ง์ฐ์ค ์์ง์, ํค๋ณด๋ ์ ๋ ฅ ๋๋ ์คํฌ๋กค ์ด๋ฒคํธ ์ถ์ ๊ณผ ๊ฐ์ ํด๋ฆฌ์คํฑ ๋ฐฉ๋ฒ์ ์์กดํ์ฌ ์ฌ์ฉ์ ํ๋์ ๋๋ต์ ์ผ๋ก ํ์ ํ์ต๋๋ค. ๊ธฐ๋ฅ์ ์ด์ง๋ง ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ข ์ข ๋ถ์กฑํ์ฌ ๋ณต์ก์ฑ, ์ ์ฌ์ ์ธ ์ฑ๋ฅ ์ค๋ฒํค๋ ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํฉ๋๋ค. ํ๋ก ํธ์๋ ์ ํด ๊ฐ์ง API๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ ๋ฉด์ผ๋ก ํด๊ฒฐํ๋๋ก ์ค๊ณ๋ ์ต์ ์ ํ์คํ๋๊ณ ๋ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ ๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ์ ํด ๊ฐ์ง API๊ฐ ๋ฌด์์ธ์ง, ์๋ ๋ฐฉ์, ๊ธ๋ก๋ฒ ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์น ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ , ๊ตฌํ ์ธ๋ถ ์ฌํญ, ์ค์ํ ์ค๋ฆฌ์ ๊ณ ๋ ค ์ฌํญ ๋ฐ ์น ๊ฐ๋ฐ์ ๋ํ ๋ฏธ๋์ ์๋ฏธ๋ฅผ ์์ธํ ์ดํด๋ด ๋๋ค.
์น์์ ์ฌ์ฉ์ ์ ํด ์ํ ๊ฐ์ง์ ์ง์์ ์ธ ๊ณผ์
๋์ฟ์ ์ฌ์ฉ์๊ฐ ๊ธ์ต ๊ฑฐ๋ ํ๋ซํผ์ ์ด์๋ค๊ฐ ์ ์ ํด์์ ์ทจํ๊ธฐ ์ํด ์๋ฆฌ๋ฅผ ๋น์ฐ๋ ๊ฒ์ ์์ํด ๋ณด์ญ์์ค. ๋๋ ๋ฐ๋์ ํ์์ด ์ค์ ์์ ์ ์ฐธ์ํ๋ ๋์ e-๋ฌ๋ ํฌํธ์ ์ด์ด๋๋ ๊ฒ์ ์์ํด ๋ณด์ญ์์ค. ์๋ฒ์ ๊ด์ ์์ ์ ํํ ํด๋ผ์ด์ธํธ ์ธก ํผ๋๋ฐฑ์ด ์์ผ๋ฉด ์ด๋ฌํ ์ธ์ ์ ์ฌ์ ํ \"ํ์ฑ\" ์ํ๋ก ํ์๋์ด ๊ท์คํ ๋ฆฌ์์ค๋ฅผ ์๋นํ๊ณ ์ฐ๊ฒฐ์ ์ ์งํ๋ฉฐ ์ค์ํ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋ ์ํ๋ก ๋จ๊ฒจ์ง ๊ฒฝ์ฐ ์ ์ฌ์ ์ผ๋ก ๋ณด์ ์ํ์ ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐ๋๋ก ์ ์ ์๊ฑฐ๋ ์ฌ์ดํธ๋ ์ฌ์ฉ์๊ฐ ์ฅ๋ฐ๊ตฌ๋๋ฅผ ๋ฒ๋ ธ๋ค๊ณ ๊ฐ์ ํ๊ธฐ๋ณด๋ค๋ ์ฌ์ฉ์๊ฐ ํ๋์ ์ผ์ ์ค์งํ ๊ฒ์ ๊ฐ์งํ๋ฉด ์ ์์ ํ ์ธ ๋๋ ๊ฐ์ธํ๋ ํ๋กฌํํธ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ ํด ์ํ๋ฅผ ๊ฐ์งํ๋ ๊ธฐ์กด ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด๋ฒคํธ ๋ฆฌ์ค๋: \"mousemove,\" \"keydown,\" \"scroll,\" \"click,\" \"touchstart,\" ๋ฑ์ ๋ชจ๋ํฐ๋งํฉ๋๋ค. ์ด๋ ๋ฆฌ์์ค ์ง์ฝ์ ์ด๊ณ ์ ๋ขฐํ ์ ์์ผ๋ฉฐ(์: ๋น๋์ค๋ฅผ ๋ณด๋ ๋ฐ๋ ๋ง์ฐ์ค/ํค๋ณด๋ ์ ๋ ฅ์ด ์์ง๋ง ํ์ฑ ์ํ์), ๋ณต์กํ ๋๋ฐ์ด์ฑ ๋ ผ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
- ํํธ๋นํธ ํ: ์๋ฒ์ ์ฃผ๊ธฐ์ ์ธ ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด๋ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ ํด ์ํ์ธ ๊ฒฝ์ฐ์๋ ๋คํธ์ํฌ ๋์ญํญ๊ณผ ์๋ฒ ๋ฆฌ์์ค๋ฅผ ์๋นํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๊ฐ์์ฑ API: ํญ์ด ํฌ๊ทธ๋ผ์ด๋์ธ์ง ๋ฐฑ๊ทธ๋ผ์ด๋์ธ์ง ์๋ ๋ฐ ์ ์ฉํ์ง๋ง ํฌ๊ทธ๋ผ์ด๋ ํญ ๋ด์์ ์ฌ์ฉ์ ํ๋์ ๋ํ๋ด์ง๋ ์์ต๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ค์ ์ฌ์ฉ์ ์ฐธ์ฌ์ ๋ํ ํ๋ก์์ด๋ฏ๋ก ์ข ์ข ์คํ ๋๋ ์คํ์ผ๋ก ์ด์ด์ง๊ณ ๊ฐ๋ฐ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์ํค๋ฉฐ ์ ์ฌ์ ์ผ๋ก ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํ์ํค๊ฑฐ๋ ๋ฆฌ์์ค๋ฅผ ๋ญ๋นํฉ๋๋ค. ๋ณด๋ค ์ง์ ์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ์ ํธ๊ฐ ๋ถ๋ช ํ ํ์ํ์ต๋๋ค.
ํ๋ก ํธ์๋ ์ ํด ๊ฐ์ง API ์๊ฐ
์ ํด ๊ฐ์ง API๋ ๋ฌด์์ ๋๊น?
์ ํด ๊ฐ์ง API๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ์๊ฐ ์ ํด ์ํ์ธ์ง ํ์ฑ ์ํ์ธ์ง, ํ๋ฉด์ด ์ ๊ฒจ ์๋์ง ์ ๊ธ ํด์ ๋์๋์ง ๊ฐ์งํ ์ ์๋๋ก ํ๋ ์๋ก์ด ์น ํ๋ซํผ API์ ๋๋ค. ํน์ ์น ํ์ด์ง์์ ์ํธ ์์ฉ์ด ์๋ ์ฅ์น์์ ์ํธ ์์ฉ์ ๋ํ ์ฌ์ฉ์์ ์ํ๋ฅผ ์ดํดํ๋ ๋ฐ ๋ ์ ํํ๊ณ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐฉ์์ ๋๋ค. ์ด๋ฌํ ๊ตฌ๋ณ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ํน์ ํญ๊ณผ ์ํธ ์์ฉํ์ง ์๋ ์ฌ์ฉ์์ ์ฅ์น์์ ์ค์ ๋ก ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ณํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
API๋ ๊ฐ์ธ ์ ๋ณด๋ฅผ ํต์ฌ์ผ๋ก ์ค๊ณ๋์์ผ๋ฉฐ ์ ํด ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ ์ ๋ช ์์ ์ธ ์ฌ์ฉ์ ๊ถํ์ด ํ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๋ฐ์ดํฐ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์ ์ดํ ์ ์์ผ๋ฉฐ ์ด๋ ์ ์ธ๊ณ์ ์ผ๋ก ์ฑํํ๊ณ ์ค๋ฆฌ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ ์ค์ํ ์์์ ๋๋ค.
์๋ ๋ฐฉ์: ํต์ฌ ๊ฐ๋ ๋ฐ ์ํ
์ ํด ๊ฐ์ง API๋ ๊ฐ๊ฐ ์์ฒด ํ์ ์ํ๊ฐ ์๋ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ์ํ๋ก ์๋ํฉ๋๋ค.
-
์ฌ์ฉ์ ์ํ: ์ด๋ ์ฌ์ฉ์๊ฐ ์ฅ์น์ ์ ๊ทน์ ์ผ๋ก ์ํธ ์์ฉ(์: ์
๋ ฅ, ๋ง์ฐ์ค ์ด๋, ํ๋ฉด ํฐ์น)ํ๋์ง ๋๋ ํน์ ๊ธฐ๊ฐ ๋์ ๋นํ์ฑ ์ํ์๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋
๋๋ค.
- \"ํ์ฑ\": ์ฌ์ฉ์๊ฐ ์ฅ์น์ ์ํธ ์์ฉํ๊ณ ์์ต๋๋ค.
- \"์ ํด\": ์ฌ์ฉ์๊ฐ ๊ฐ๋ฐ์๊ฐ ์ ์ํ ์ต์ ์๊ณ๊ฐ ๋์ ์ฅ์น์ ์ํธ ์์ฉํ์ง ์์์ต๋๋ค.
-
ํ๋ฉด ์ํ: ์ด๋ ์ฌ์ฉ์ ์ฅ์น ํ๋ฉด์ ์ํ๋ฅผ ๋ํ๋
๋๋ค.
- \"์ ๊น\": ์ฅ์น ํ๋ฉด์ด ์ ๊ฒจ ์์ต๋๋ค(์: ํ๋ฉด ๋ณดํธ๊ธฐ๊ฐ ํ์ฑํ๋์๊ฑฐ๋ ์ฅ์น๊ฐ ์ ์ ๋ชจ๋๋ก ์ ํ๋จ).
- \"์ ๊ธ ํด์ ๋จ\": ์ฅ์น ํ๋ฉด์ด ์ ๊ธ ํด์ ๋์ด ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์๋ ํ์ง๊ธฐ๋ฅผ ์ด๊ธฐํํ ๋ ์ต์ ์ ํด ์๊ณ๊ฐ(์: 60์ด)์ ์ง์ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ธ๋ผ์ฐ์ ๋ ์์คํ ์์ค ํ๋์ ๋ชจ๋ํฐ๋งํ์ฌ ์ฌ์ฉ์๊ฐ ์ด ์๊ณ๊ฐ์ ๋์ด \"์ ํด\" ์ํ๋ก ์ ํ๋์๋์ง ํ์ธํฉ๋๋ค. ์ฌ์ฉ์ ์ํ ๋๋ ํ๋ฉด ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ฉด API๋ ์ด๋ฒคํธ๋ฅผ ๋์คํจ์นํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ทธ์ ๋ฐ๋ผ ๋ฐ์ํ ์ ์๋๋ก ํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ์ง์ ๋ฐ ํ์คํ
2023๋ ๋ง/2024๋ ์ด ํ์ฌ ์ ํด ๊ฐ์ง API๋ ์ฃผ๋ก Chromium ๊ธฐ๋ฐ ๋ธ๋ผ์ฐ์ (Chrome, Edge, Opera, Brave)์์ ์ง์๋๋ฉฐ W3C๋ฅผ ํตํด ์ฌ์ ํ ํ๋ฐํ๊ฒ ๊ฐ๋ฐ ๋ฐ ํ์คํ๋๊ณ ์์ต๋๋ค. ์ฆ, ๊ฐ์ฉ์ฑ์ ๋ธ๋ผ์ฐ์ ์ ๋ฒ์ ์ ๋ฐ๋ผ ์ ์ธ๊ณ์ ์ผ๋ก ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ด API๋ ์๋นํ ์ด์ ์ ์ ๊ณตํ์ง๋ง ๊ฐ๋ฐ์๋ ํ๋ก๊ทธ๋ ์๋ธ ํฅ์์ ๊ณ ๋ คํ๊ณ ์์ง ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ํด ๊ฐ๋ ฅํ ๋์ฒด ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ํน์ ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์ด ์ง๋ฐฐ์ ์ผ ์ ์๋ ์ง์ญ ๋๋ ์ ํธํ๋ ๋ธ๋ผ์ฐ์ ์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ผ๊ด๋ ๊ฒฝํ์ ๋ณด์ฅํด์ผ ํฉ๋๋ค.
ํ์คํ ํ๋ก์ธ์ค์๋ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์นํธ์ ๋ฐ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ฅผ ํฌํจํ ๋ค์ํ ์ดํด ๊ด๊ณ์์ ๊ด๋ฒ์ํ ๋ ผ์์ ํผ๋๋ฐฑ์ด ํฌํจ๋์ด ๋ณด์, ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ์ ์ฉ์ฑ์ ๋ํ ๋์ ๊ธฐ์ค์ ์ถฉ์กฑํ๋์ง ํ์ธํฉ๋๋ค.
์ค์ฉ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก(๊ธ๋ก๋ฒ ๊ด์ )
์ ํด ๊ฐ์ง API๋ ๋ณด๋ค ์ง๋ฅ์ ์ด๊ณ ์์ ํ๋ฉฐ ์ฌ์ฉ์ ์นํ์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋ ๋ค์ํ ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ธ๊ณ์ ๋ค์ํ ์ฐ์ ๋ฐ ์ฌ์ฉ์ ์๊ตฌ ์ฌํญ์ ๊ฑธ์ณ ์์ต๋๋ค.
์ธ์ ๊ด๋ฆฌ ๋ฐ ๋ณด์
๊ฐ์ฅ ์ฆ๊ฐ์ ์ด๊ณ ์ํฅ๋ ฅ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ค ํ๋๋ ํนํ ์จ๋ผ์ธ ๋ฑ ํน, ์๋ฃ ํฌํธ ๋๋ ์ ์ฌ์ ์์ ๊ด๋ฆฌ(ERP) ์์คํ ๊ณผ ๊ฐ์ ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ํฅ์๋ ์ธ์ ๊ด๋ฆฌ์ ๋๋ค. ์ ๋ฝ(์: GDPR์ ๋ฐ๋ผ), ์์์ ๋ฐ ์๋ฉ๋ฆฌ์นด ์ ์ญ์์ ๊ฐ๋ ฅํ ๋ณด์ ๋ฐ ๋ฐ์ดํฐ ๋ณดํธ ๊ท์ ์ ๋นํ์ฑ ์ํ๊ฐ ์ผ์ ๊ธฐ๊ฐ ๋์ ์ง์๋๋ฉด ์ค์ํ ์ธ์ ์ ์ข ๋ฃํ๊ฑฐ๋ ์ ๊ฐ์ผ ํ๋ค๊ณ ๊ท์ ํฉ๋๋ค.
- ์๋ ๋ก๊ทธ์์: ๊ธ์ต ๊ธฐ๊ด์ ์์ ์๊ฐ ์ ํ์ ์์กดํ๋ ๋์ ์ ์ฒด ์ฅ์น์์ ์ค์ ์ฌ์ฉ์ ์ ํด ์ํ๋ฅผ ๊ฐ์งํ๊ณ ์ฌ์ฉ์๊ฐ ๊ณต๊ณต ์ฅ์(์: ์ฑ๊ฐํฌ๋ฅด์ ์ธํฐ๋ท ์นดํ, ๋ฒ ๋ฅผ๋ฆฐ์ ํ์ ๊ณต๊ฐ)์์ ์ปดํจํฐ์์ ์๋ฆฌ๋ฅผ ๋น์ฐ๋ ๊ฒฝ์ฐ ๋ฌด๋จ ์ก์ธ์ค๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋์ผ๋ก ๋ก๊ทธ์์ํ๊ฑฐ๋ ์ธ์ ์ ์ ๊ธ ์ ์์ต๋๋ค.
- ์ฌ์ธ์ฆ ํ๋กฌํํธ: ์ธ๋์ ์ ๋ถ ์๋น์ค ํฌํธ์ ๋ถํ์ํ ๋ณด์ ๊ฒ์ฌ๋ก ํ์ฑ ์ํฌํ๋ก๋ฅผ ์ค๋จํ๋ ๋์ ์ค์ ์ ํด ์ํ์ธ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ์์๊ฒ ์ฌ์ธ์ฆ์ ์์ฒญํ ์ ์์ต๋๋ค.
- ๊ท์ ์ค์: ์ ํด ์ธ์ ์๊ฐ ์ ํ์ ์ ์ฉํ๋ ๋ณด๋ค ์ ํํ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ธ๋ก๋ฒ ๊ท์ ์ค์ ํ์ค(์: PCI DSS, HIPAA, GDPR)์ ์ค์ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ฆฌ์์ค ์ต์ ํ ๋ฐ ๋น์ฉ ์ ๊ฐ
์ค์ํ ๋ฐฑ์๋ ์ฒ๋ฆฌ ๋๋ ์ค์๊ฐ ๋ฐ์ดํฐ ์๊ตฌ ์ฌํญ์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ API๋ ์๋ฒ ๋ถํ ๋ฐ ๊ด๋ จ ๋น์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ์ด๋ ๋ค์ํ ์๊ฐ๋์ ๊ฑธ์ณ ์๋ฐฑ๋ง ๋ช ์ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๋๊ท๋ชจ SaaS ๊ณต๊ธ์ ์ฒด์ ํนํ ๊ด๋ จ์ด ์์ต๋๋ค.
- ์ค์ํ์ง ์์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ผ์ ์ค์ง: ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ ๋๋ง ์๋น์ค ๋๋ ๋ณต์กํ ๋ฐ์ดํฐ ๋ถ์ ํ๋ซํผ์ ์ฌ์ฉ์๊ฐ ์ ํด ์ํ๋ก ๊ฐ์ง๋๋ฉด ๊ณ์ฐ ์ง์ฝ์ ์ธ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ ๋ฐ์ดํธ ๋๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ผ์ ์ค์งํ๊ณ ์ฌ์ฉ์๊ฐ ๋์์ค๋ฉด ๋ค์ ์์ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๋ชจ๋์์ CPU ์ฃผ๊ธฐ๊ฐ ์ ์ฝ๋ฉ๋๋ค.
- ์ค์๊ฐ ์ฐ๊ฒฐ ์ฌ์ฉ๋ ๊ฐ์: ์ค์๊ฐ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ , ์ค์๊ฐ ๋์๋ณด๋(์: ๋ด์, ๋์ฟ, ๋ฐ๋์ ์ฃผ์ ์์ฅ ๋ฐ์ดํฐ) ๋๋ ๊ณต๋ ๋ฌธ์ ํธ์ง๊ธฐ๋ ์ฌ์ฉ์๊ฐ ์ ํด ์ํ์ผ ๋ ์ ๋ฐ์ดํธ ๋น๋๋ฅผ ์ผ์์ ์ผ๋ก ์ค์ด๊ฑฐ๋ WebSocket ์ฐ๊ฒฐ์ ์ถ์ํ์ฌ ๋คํธ์ํฌ ๋์ญํญ๊ณผ ์๋ฒ ๋ฆฌ์์ค๋ฅผ ์ ์ฝํ ์ ์์ต๋๋ค.
- ์ต์ ํ๋ ํธ์ ์๋ฆผ: ์๋ฆผ์ ๋ณด๋ด๋ ์ฌ์ฉ์์ ์ฅ์น๊ฐ ์ ๊ฒจ ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ \"์ ๊ธ ํด์ \" ์ํ๋ฅผ ๊ธฐ๋ค๋ ค ๊ฐ์์ฑ๊ณผ ์ฐธ์ฌ๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ๊ฒฝํ ํฅ์ ๋ฐ ๊ฐ์ธํ
๋ณด์ ๋ฐ ํจ์จ์ฑ ์ธ์๋ API๋ฅผ ํตํด ๋ณด๋ค ์ฌ๋ ค ๊น๊ณ ์ํฉ์ ๋ง๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ๋์ ์ฝํ ์ธ ์ ๋ฐ์ดํธ: ๋ธ๋ผ์ง์ ๋ด์ค ํฌํธ์ ์ฌ์ฉ์๊ฐ ํ์ฑ ์ํ๋ก ๋์์ฌ ๋ ๋ผ์ด๋ธ ํผ๋๋ฅผ ์๋์ผ๋ก ์๋ก ๊ณ ์ณ ์ฌ์ฉ์๊ฐ ์๋ ๊ฐ์ ์์ด ์ต์ ํค๋๋ผ์ธ์ ๋ณผ ์ ์๋๋ก ํ ์ ์์ต๋๋ค. ๋ฐ๋๋ก ์ฌ์ฉ์๊ฐ ์ ํด ์ํ์ธ ๊ฒฝ์ฐ ๋ถํ์ํ ๋ฐ์ดํฐ ์๋น๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ๋ฅผ ์ผ์ ์ค์งํ ์ ์์ต๋๋ค.
- ์ํฉ๋ณ ํ๋กฌํํธ ๋ฐ ๊ฐ์ด๋: e-๋ฌ๋ ํ๋ซํผ์ ํ์์ ์ฅ๊ธฐ๊ฐ ์ ํด ์ํ๋ฅผ ๊ฐ์งํ๊ณ ๋ฌด๊ด์ฌํ๋ค๊ณ ๊ฐ์ ํ๊ธฐ๋ณด๋ค๋ ํด์์ ์ ์ํ๊ฑฐ๋ ๋์๋ง ํ๋กฌํํธ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ์ ์ ๋ชจ๋: ๋ชจ๋ฐ์ผ ์ฅ์น์์ ์คํ๋๋ ํ๋ก๊ทธ๋ ์๋ธ ์น ์ฑ(PWA)์ ๊ฒฝ์ฐ ์ ํด ์ํ๋ฅผ ๊ฐ์งํ๋ฉด ์ ์ ๋ชจ๋๋ฅผ ํธ๋ฆฌ๊ฑฐํ์ฌ ๋ฐฐํฐ๋ฆฌ ์๋ชจ๋ฅผ ์ค์ผ ์ ์์ผ๋ฉฐ ์ด๋ ์ ์ธ๊ณ ์ฌ์ฉ์๊ฐ ๋์ด ํ๊ฐํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
๋ถ์ ๋ฐ ์ฌ์ฉ์ ์ฐธ์ฌ ์ธ์ฌ์ดํธ
๊ธฐ์กด ๋ถ์์ ์ข ์ข ์ ํ๋ฆฌ์ผ์ด์ ์ 10๋ถ ๋์ ์ค์ ๋ก ์ฌ์ฉํ๋ ์ฌ์ฉ์์ ํญ์ 10๋ถ ๋์ ์ด์ด๋์ง๋ง ์ค์ ๋ก 30์ด ๋์๋ง ํ์ฑ ์ํ์ธ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ณํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ์ ํด ๊ฐ์ง API๋ ํ์ฑ ์ฐธ์ฌ์ ๋ํ ๋ณด๋ค ์ ํํ ์ธก์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ ํํ ํ์ฑ ์๊ฐ ์ถ์ : ์ ์ธ๊ณ ๋ง์ผํ ํ์ ์ง์ ํ ์ฐธ์ฌ ๋ฉํธ๋ฆญ์ ๋ํ ๋ ๋์ ํต์ฐฐ๋ ฅ์ ์ป์ด ๋ณด๋ค ์ ํํ A/B ํ ์คํธ, ์บ ํ์ธ ์ฑ๊ณผ ์ธก์ ๋ฐ ์ฌ์ฉ์ ์ธ๋ถํ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
- ํ๋ ๋ถ์: ์ ํด ํจํด์ ์ดํดํ๋ฉด ์ฌ์ฉ์๊ฐ ์ฐธ์ฌ๋ฅผ ์ค๋จํ๊ฑฐ๋ ํผ๋์ค๋ฌ์ํ ์ ์๋ ์ง์ ์ ์๋ณํ์ฌ UI/UX ๊ฐ์ ์ ๋์์ด ๋ ์ ์์ต๋๋ค.
๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ชจ๋ํฐ๋ง
์ค์ํ๊ฒ๋ ๋ง์ ํด๋ฆฌ์คํฑ ๋ฐฉ๋ฒ๊ณผ ๋ฌ๋ฆฌ ์ ํด ๊ฐ์ง API๋ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ณ ๋ ค ์ฌํญ์ ํต์ฌ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ช ์์ ์ธ ์ฌ์ฉ์ ๊ถํ์ด ํ์ํ๋ฉฐ ์ฌ์ฉ์์๊ฒ ์ ์ด๊ถ์ ๋๋๋ ค์ฃผ๊ณ ์ ๋ฝ์ GDPR, ์บ๋ฆฌํฌ๋์์ CCPA, ๋ธ๋ผ์ง์ LGPD, ์ธ๋ ๋ฐ ํธ์ฃผ์ ๊ฐ์ ๊ตญ๊ฐ์์ ์งํํ๋ ์ ์ฌํ ํ๋ ์์ํฌ์ ๊ฐ์ ๊ธ๋ก๋ฒ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ ์ค์ํฉ๋๋ค. ๋ฐ๋ผ์ ์นจ์ ์ ์ด๊ณ ๋นํฉ์์ ์ธ ๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ์ฌ ์ฌ์ฉ์ ํ๋ ๋ชจ๋ํฐ๋ง์ ๋ํ ๋ณด๋ค ์ค๋ฆฌ์ ์ด๊ณ ํฉ๋ฒ์ ์ธ ์ ํ์ ๋๋ค.
์ ํด ๊ฐ์ง API ๊ตฌํ: ๊ฐ๋ฐ์ ๊ฐ์ด๋
์ ํด ๊ฐ์ง API๋ฅผ ๊ตฌํํ๋ ๋ฐ๋ ๋ช ๊ฐ์ง ๊ฐ๋จํ ๋จ๊ณ๊ฐ ์์ง๋ง ๊ถํ ๋ฐ ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ ์คํ๊ฒ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
API ์ง์ ํ์ธ
API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ํญ์ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ๊ฐ API๋ฅผ ์ง์ํ๋์ง ํ์ธํ์ญ์์ค. ์ด๋ ์ต์ ์น API๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
์:
if ('IdleDetector' in window) {
console.log('์ ํด ๊ฐ์ง API๊ฐ ์ง์๋ฉ๋๋ค!');
} else {
console.log('์ ํด ๊ฐ์ง API๊ฐ ์ง์๋์ง ์์ต๋๋ค. ๋์ฒด ๊ธฐ๋ฅ์ ๊ตฌํํ์ญ์์ค.');
}
๊ถํ ์์ฒญ
์ ํด ๊ฐ์ง API๋ ๋ช ์์ ์ธ ์ฌ์ฉ์ ๊ถํ์ด ํ์ํ \"๊ฐ๋ ฅํ ๊ธฐ๋ฅ\"์ ๋๋ค. ์ด๋ ์ค์ํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ฅ์น์ ๋๋ค. ๊ถํ์ ํญ์ ์ฌ์ฉ์ ์ ์ค์ฒ(์: ๋ฒํผ ํด๋ฆญ)์ ๋ํ ์๋ต์ผ๋ก ์์ฒญํด์ผ ํ๋ฉฐ ํนํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ์ ๋ํ ๋ค์ํ ๊ธฐ๋์น๋ฅผ ๊ฐ์ง ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํด ํ์ด์ง ๋ก๋ ์ ์๋์ผ๋ก ์์ฒญํด์๋ ์ ๋ฉ๋๋ค.
์: ๊ถํ ์์ฒญ
async function requestIdleDetectionPermission() {
if (!('IdleDetector' in window)) {
console.warn('์ ํด ๊ฐ์ง๊ธฐ๊ฐ ์ง์๋์ง ์์ต๋๋ค.');
return;
}
try {
const state = await navigator.permissions.query({ name: 'idle-detection' });
if (state.state === 'granted') {
console.log('๊ถํ์ด ์ด๋ฏธ ๋ถ์ฌ๋์์ต๋๋ค.');
return true;
} else if (state.state === 'prompt') {
// ์ด๋ฏธ ๊ฑฐ๋ถ๋์ง ์์ ๊ฒฝ์ฐ์๋ง ๊ถํ ์์ฒญ
// ์ค์ ์์ฒญ์ ํ์ง๊ธฐ๋ฅผ ์์ํ ๋ IdleDetector.start()๊ฐ ์์์ ์ผ๋ก ํธ์ถ๋๊ฑฐ๋
// ๋ ๋ช
์์ ์ธ UX๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ํด ๋ช
์์ ์ผ๋ก ํธ์ถ๋ฉ๋๋ค.
console.log('ํ์ง๊ธฐ๊ฐ ์์๋๋ฉด ๊ถํ์ด ์์ฒญ๋ฉ๋๋ค.');
return true; // ํ๋กฌํํธํ๋ ํ์ง๊ธฐ๋ฅผ ์์ํด ๋ณด๊ฒ ์ต๋๋ค.
} else if (state.state === 'denied') {
console.error('์ฌ์ฉ์๊ฐ ๊ถํ์ ๊ฑฐ๋ถํ์ต๋๋ค.');
return false;
}
} catch (error) {
console.error('๊ถํ ์ฟผ๋ฆฌ ์ค๋ฅ:', error);
return false;
}
return false;
}
์ ํด ๊ฐ์ง๊ธฐ ์ธ์คํด์ค ๋ง๋ค๊ธฐ
์ง์์ ํ์ธํ๊ณ ๊ถํ์ ์ฒ๋ฆฌํ์ผ๋ฉด IdleDetector ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ต์ ์ ํด ์๊ณ๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ง์ ํด์ผ ํฉ๋๋ค. ์ด ๊ฐ์ API๊ฐ ์ฌ์ฉ์๋ฅผ \"์ ํด\" ์ํ๋ก ๊ฐ์ฃผํ๊ธฐ ์ ์ ์ฌ์ฉ์๊ฐ ๋นํ์ฑ ์ํ์ฌ์ผ ํ๋ ๊ธฐ๊ฐ์ ๊ฒฐ์ ํฉ๋๋ค. ๊ฐ์ด ๋๋ฌด ์์ผ๋ฉด ์คํ์ ํธ๋ฆฌ๊ฑฐํ ์ ์๊ณ ๋๋ฌด ํฌ๋ฉด ํ์ํ ์์
์ด ์ง์ฐ๋ ์ ์์ต๋๋ค.
์: ํ์ง๊ธฐ ์ด๊ธฐํ
let idleDetector = null;
const idleThresholdMs = 60 * 1000; // 60์ด
async function setupIdleDetection() {
const permissionGranted = await requestIdleDetectionPermission();
if (!permissionGranted) {
alert('์ด ๊ธฐ๋ฅ์๋ ์ ํด ๊ฐ์ง ๊ถํ์ด ํ์ํฉ๋๋ค.');
return;
}
try {
idleDetector = new IdleDetector();
idleDetector.addEventListener('change', () => {
const userState = idleDetector.user.state; // 'active' ๋๋ 'idle'
const screenState = idleDetector.screen.state; // 'locked' ๋๋ 'unlocked'
console.log(`์ ํด ์ํ๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ฌ์ฉ์ ์ํ: ${userState}, ํ๋ฉด ์ํ: ${screenState}.`);
// ์ํ ๋ณ๊ฒฝ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์
๋
ผ๋ฆฌ๋ฅผ ์ฌ๊ธฐ์ ๊ตฌํํ์ญ์์ค.
if (userState === 'idle' && screenState === 'locked') {
console.log('์ฌ์ฉ์๊ฐ ์ ํด ์ํ์ด๊ณ ํ๋ฉด์ด ์ ๊ฒจ ์์ต๋๋ค. ๊ณผ๋ํ ์์
์ ์ผ์ ์ค์งํ๊ฑฐ๋ ๋ก๊ทธ์์ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.');
// ์: logoutUser(); pauseExpensiveAnimations();
} else if (userState === 'active') {
console.log('์ฌ์ฉ์๊ฐ ํ์ฑ ์ํ์
๋๋ค. ์ผ์ ์ค์ง๋ ํ๋์ ๋ค์ ์์ํ์ญ์์ค.');
// ์: resumeActivities();
}
});
await idleDetector.start({ threshold: idleThresholdMs });
console.log('์ ํด ๊ฐ์ง๊ธฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์๋์์ต๋๋ค.');
// ์ด๊ธฐ ์ํ ๊ธฐ๋ก
console.log(`์ด๊ธฐ ์ํ: ์ฌ์ฉ์ ์ํ: ${idleDetector.user.state}, ํ๋ฉด ์ํ: ${idleDetector.screen.state}.`);
} catch (error) {
// ์์ ์ค ๊ถํ ๊ฑฐ๋ถ ๋๋ ๊ธฐํ ์ค๋ฅ ์ฒ๋ฆฌ
if (error.name === 'NotAllowedError') {
console.error('์ ํด ์ํ ๊ฐ์ง ๊ถํ์ด ๊ฑฐ๋ถ๋์๊ฑฐ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.', error);
alert('์ ํด ๊ฐ์ง ๊ถํ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ผ๋ถ ๊ธฐ๋ฅ์ด ์์๋๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค.');
} else {
console.error('์ ํด ๊ฐ์ง๊ธฐ๋ฅผ ์์ํ์ง ๋ชปํ์ต๋๋ค.', error);
}
}
}
// ์ผ๋ฐ์ ์ผ๋ก ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋๋ก ์ค์ ํ๋ ๋ฒํผ ํด๋ฆญ๊ณผ ๊ฐ์ ์ฌ์ฉ์ ์ํธ ์์ฉ ํ์ setupIdleDetection()์ ํธ์ถํฉ๋๋ค.
// document.getElementById('enableIdleDetectionButton').addEventListener('click', setupIdleDetection);
์ํ ๋ณ๊ฒฝ ์ฒ๋ฆฌ(์ฌ์ฉ์ ๋ฐ ํ๋ฉด)
change ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ฌ์ฉ์ ์ ํด ์ํ ๋๋ ํ๋ฉด ์ ๊ธ ์ํ์ ๋ณ๊ฒฝ์ ๋ฐ์ํ๋ ๊ณณ์
๋๋ค. ์ฌ๊ธฐ์์ ์์
์ผ์ ์ค์ง, ๋ก๊ทธ์์, UI ์
๋ฐ์ดํธ ๋๋ ๋ถ์ ์์ง์ ๋ํ ํน์ ๋
ผ๋ฆฌ๋ฅผ ๊ตฌํํฉ๋๋ค.
์: ๊ณ ๊ธ ์ํ ์ฒ๋ฆฌ
function handleIdleStateChange() {
const userState = idleDetector.user.state;
const screenState = idleDetector.screen.state;
const statusElement = document.getElementById('idle-status');
if (statusElement) {
statusElement.textContent = `์ฌ์ฉ์: ${userState}, ํ๋ฉด: ${screenState}`;
}
if (userState === 'idle') {
console.log('์ฌ์ฉ์๊ฐ ํ์ฌ ์ ํด ์ํ์
๋๋ค.');
// ์ ํด ์ํ์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์
๋ณ ๋
ผ๋ฆฌ
// ์: sendAnalyticsEvent('user_idle');
// ์: showReducedNotificationFrequency();
if (screenState === 'locked') {
console.log('ํ๋ฉด๋ ์ ๊ฒจ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์๋ฆฌ๋ฅผ ๋น์ธ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.');
// ์: autoLogoutUser(); // ์ค์ํ ์ฑ์ ๊ฒฝ์ฐ
// ์: pauseAllNetworkRequests();
}
} else {
console.log('์ฌ์ฉ์๊ฐ ํ์ฌ ํ์ฑ ์ํ์
๋๋ค.');
// ํ์ฑ ์ํ์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์
๋ณ ๋
ผ๋ฆฌ
// ์: sendAnalyticsEvent('user_active');
// ์: resumeFullNotificationFrequency();
// ์: fetchLatestData();
}
if (screenState === 'locked') {
console.log('ํ๋ฉด์ด ์ ๊ฒจ ์์ต๋๋ค.');
// ์ฌ์ฉ์ ์
๋ ฅ ์ ํด ์ํ์ ๊ด๊ณ์์ด ํ๋ฉด์ด ์ ๊ธธ ๋์ ํน์ ์์
// ์: encryptTemporaryData();
} else if (screenState === 'unlocked') {
console.log('ํ๋ฉด์ด ์ ๊ธ ํด์ ๋์์ต๋๋ค.');
// ํ๋ฉด์ด ์ ๊ธ ํด์ ๋ ๋์ ํน์ ์์
// ์: showWelcomeBackMessage();
}
}
// ์ด ์ฒ๋ฆฌ๊ธฐ๋ฅผ IdleDetector ์ธ์คํด์ค์ ์ถ๊ฐํฉ๋๋ค.
// idleDetector.addEventListener('change', handleIdleStateChange);
์ฝ๋ ์์ ์ ๋ํ ์ค์ ์ฐธ๊ณ ์ฌํญ: #idle-status์ ๊ฐ์ ์์์ ๋ํ ์ค์ HTML ๋ฐ CSS๋ ๊ฐ๊ฒฐ์ฑ์ ์ํด ์๋ต๋์์ผ๋ฉฐ JavaScript API ์ํธ ์์ฉ์ ์ค์ ์ ๋ก๋๋ค. ์ค์ ์๋๋ฆฌ์ค์์๋ HTML ๋ฌธ์์ ํด๋น ์์๊ฐ ์์ต๋๋ค.
์ฃผ์ ๊ณ ๋ ค ์ฌํญ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
์ ํด ๊ฐ์ง API๋ ๊ฐ๋ ฅํ์ง๋ง ์ฌ์ฉ์ ๊ธฐ๋์น์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์กด์คํ๋ฉด์ ์ด์ ์ ์ต๋ํํ๋ ค๋ฉด ์ ์คํ๊ณ ์ฑ ์๊ฐ ์๋ ๊ตฌํ์ด ํ์ํฉ๋๋ค.
์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ํฌ๋ช ์ฑ(์ค๋ฆฌ์ ์ฌ์ฉ์ด ๊ฐ์ฅ ์ค์ํจ)
์ด๋ ํนํ ๋ค์ํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ๋ฐ ๋ฌธํ์ ๊ท๋ฒ์ ๊ฐ์ง ์ ์ธ๊ณ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ค์ํ ๊ณ ๋ ค ์ฌํญ์ผ ์ ์์ต๋๋ค.
- ๋ช ์์ ๋์: ์ ํด ๊ฐ์ง๋ฅผ ํ์ฑํํ๊ธฐ ์ ์ ํญ์ ๋ช ์์ ์ธ ์ฌ์ฉ์ ๋์๋ฅผ ์ป์ผ์ญ์์ค. ์ฌ์ฉ์๋ฅผ ๋๋ผ๊ฒ ํ์ง ๋ง์ญ์์ค. ์ด ๊ถํ์ด ํ์ํ ์ด์ ์ ์ ๊ณตํ๋ ์ด์ ์ ๋ช ํํ๊ฒ ์ค๋ช ํ์ญ์์ค(์: \"๊ณ์ ์ ๋ณดํธํ๊ธฐ ์ํด ๋นํ์ฑ ์ํ ํ ์๋์ผ๋ก ๋ก๊ทธ์์ํฉ๋๋ค.\" ๋๋ \"์๋ฆฌ๋ฅผ ๋น์ธ ๋ ์ ๋ฐ์ดํธ๋ฅผ ์ผ์ ์ค์งํ์ฌ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์ ์ฝํฉ๋๋ค.\").
- ์ ๋ณด ์ธ๋ถ์ฑ: API๋ ์ง๊ณ ์ํ(\"์ ํด\"/\"ํ์ฑ,\" \"์ ๊น\"/\"์ ๊ธ ํด์ \")๋ง ์ ๊ณตํฉ๋๋ค. ํน์ ์ฌ์ฉ์ ์์ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ์ธ๋ถ ์ ๋ณด๋ ์ ๊ณตํ์ง ์์ต๋๋ค. API์ ์ ์ ๊ณผ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์๋ฐํ๋ฏ๋ก ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ฑฐ๋ ์ถ๋ก ํ๋ ค๊ณ ์๋ํ์ง ๋ง์ญ์์ค.
- ๊ท์ ์ค์: GDPR(์ ๋ฝ ์ฐํฉ), CCPA(๋ฏธ๊ตญ ์บ๋ฆฌํฌ๋์), LGPD(๋ธ๋ผ์ง), PIPEDA(์บ๋๋ค) ๋ฐ ํธ์ฃผ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ๊ณผ ๊ฐ์ ๊ธ๋ก๋ฒ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฒ์ ์ผ๋์ ๋์ญ์์ค. ์ด๋ฌํ ๊ท์ ์ ์ข ์ข ๋ช ํํ ๋์, ๋ฐ์ดํฐ ์ต์ํ ๋ฐ ํฌ๋ช ํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ ์ฑ ์ ์๊ตฌํฉ๋๋ค. ์ ํด ๊ฐ์ง API ์ฌ์ฉ์ด ์ด๋ฌํ ์๊ตฌ ์ฌํญ๊ณผ ์ผ์นํ๋์ง ํ์ธํ์ญ์์ค.
- ์ตํธ์์ ์ต์ : ์ด๊ธฐ ๊ถํ์ ๋ถ์ฌํ ํ์๋ ๋ ์ด์ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ฉด ์ฌ์ฉ์๊ฐ ์ ํด ๊ฐ์ง๋ฅผ ๋นํ์ฑํํ ์ ์๋ ๋ช ํํ๊ณ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ญ์์ค.
- ๋ฐ์ดํฐ ์ต์ํ: ๋ช ์๋ ๋ชฉ์ ์ ์๊ฒฉํ๊ฒ ํ์ํ ๋ฐ์ดํฐ๋ง ์์งํ๊ณ ์ฒ๋ฆฌํ์ญ์์ค. ์ธ์ ๋ณด์์ ์ํด ์ ํด ๊ฐ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ณ๋์ ๋ช ์์ ๋์ ์์ด ์์ธํ ํ๋ ํ๋กํ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
์ฑ๋ฅ ์ํฅ
์ ํด ๊ฐ์ง API ์์ฒด๋ ์ง์์ ์ผ๋ก ์ด๋ฒคํธ๋ฅผ ํด๋งํ๋ ๋์ ์์คํ ์์ค ์ ํด ๊ฐ์ง ๋ฉ์ปค๋์ฆ์ ํ์ฉํ์ฌ ์ฑ๋ฅ์ด ๋ฐ์ด๋๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ํ ๋ณ๊ฒฝ์ ๋ํ ์๋ต์ผ๋ก ํธ๋ฆฌ๊ฑฐํ๋ ์์ ์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ๋๋ฐ์ด์ฑ ๋ฐ ์ค๋กํ๋ง: ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ์ ๊ณผ๋ํ ์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ ํนํ ์ฌ์ฉ์ ์ํ๊ฐ ํ์ฑ/์ ํด ์ํ ์ฌ์ด์์ ๋น ๋ฅด๊ฒ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ์ ์ ํ๊ฒ ๋๋ฐ์ด์ฑํ๊ฑฐ๋ ์ค๋กํ๋งํ์ญ์์ค.
- ๋ฆฌ์์ค ๊ด๋ฆฌ: API๋ ๋ฆฌ์์ค ์ต์ ํ๋ฅผ ์ํ ๊ฒ์ ๋๋ค. ์ํ ๋ณ๊ฒฝ ์ ๋น๋ฒํ๊ณ ๊ณผ๋ํ ์์ ์ด ์ด๋ฌํ ์ด์ ์ ๋ฌดํจํํ ์ ์์์ ์ผ๋์ ๋์ญ์์ค.
๋ธ๋ผ์ฐ์ ํธํ์ฑ ๋ฐ ๋์ฒด ๊ธฐ๋ฅ
๋ ผ์๋ ๋ฐ์ ๊ฐ์ด ๋ธ๋ผ์ฐ์ ์ง์์ ๋ณดํธ์ ์ด์ง ์์ต๋๋ค. ์ ํด ๊ฐ์ง API๋ฅผ ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ํด ๊ฐ๋ ฅํ ๋์ฒด ๊ธฐ๋ฅ์ ๊ตฌํํ์ญ์์ค.
- ์ ์ง์ ๊ฐ์ : API์ ์์กดํ์ง ์๊ณ ํต์ฌ ๊ธฐ๋ฅ์ ๊ตฌ์ถํ์ญ์์ค. ๊ทธ๋ฐ ๋ค์ ์ง์๋๋ ๋ธ๋ผ์ฐ์ ์ ๋ํ ์ ํด ๊ฐ์ง๋ฅผ ํตํด ๊ฒฝํ์ ํฅ์ํ์ญ์์ค.
- ๊ธฐ์กด ๋์ฒด ๊ธฐ๋ฅ: ์ง์๋์ง ์๋ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ ๋ง์ฐ์ค/ํค๋ณด๋ ํ๋์ ๋ํ ์ด๋ฒคํธ ๋ฆฌ์ค๋์ ์์กดํด์ผ ํ์ง๋ง ๊ธฐ๋ณธ API์ ๋นํด ์ ํ ์ฌํญ๊ณผ ์ ์ฌ์ ์ธ ๋ถ์ ํ์ฑ์ ๋ํด ํฌ๋ช ํ๊ฒ ์ค๋ช ํด์ผ ํฉ๋๋ค.
\"์ ํด\" ์ ์ โ ์๊ณ๊ฐ ๋ฐ ์ธ๋ถ์ฑ
threshold ๋งค๊ฐ๋ณ์๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. \"์ ํด\"๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๋์ ์ฌ์ฉ์์ ๋ฐ๋ผ ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค.
- ์ปจํ ์คํธ๊ฐ ์ค์ํจ: ์ค์๊ฐ ๊ณต๋ ๋ฌธ์ ํธ์ง๊ธฐ๋ ์ฌ์ฉ์๊ฐ ์๋ฆฌ๋ฅผ ๋น์ ๋์ง ํ์ธํ๊ธฐ ์ํด ๋งค์ฐ ์งง์ ์๊ณ๊ฐ(์: 30์ด)์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ ์๋ ์์ฒญ ๊ฒฝํ์ ๋ฐฉํดํ์ง ์๊ธฐ ์ํด ๋ ๊ธด ์๊ณ๊ฐ(์: 5๋ถ)์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ๊ธฐ๋์น: ๋ฌธํ์ ์ปจํ ์คํธ๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ๋ ์ผ์ ์ฌ์ฉ์๊ฐ ์ ํด ์ํ๋ก ์ธ์ํ๋ ๊ฒ์ ์ผ๋ณธ์ ์ฌ์ฉ์๋ ์งง์ ์ผ์ ์ค์ง๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค. ๊ตฌ์ฑ ๊ฐ๋ฅํ ์๊ณ๊ฐ์ ์ ๊ณตํ๊ฑฐ๋ ์ค๋งํธํ ์ ์ํ ์๊ณ๊ฐ(API์์ ๋์ค์ ์ง์๋๋ ๊ฒฝ์ฐ)์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ตํ ์ ์์ต๋๋ค.
- ์คํ ๋ฐฉ์ง: ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ฌ์ ํ ์ฐธ์ฌํ๊ณ ์์ง๋ง ์ ๊ทน์ ์ผ๋ก ์ ๋ ฅํ์ง ์๋ ๊ฒฝ์ฐ(์: ๊ธด ๊ธฐ์ฌ ์ฝ๊ธฐ, ๋น๋ํํ ํ๋ ์ ํ ์ด์ ์์ฒญ) ์คํ์ ์ต์ํํ ์ ์์ ๋งํผ ์ถฉ๋ถํ ๊ธด ์๊ณ๊ฐ์ ์ค์ ํ์ญ์์ค.
๋ณด์ ์ํฅ(์ค์ํ ์ธ์ฆ์๋ ์ฌ์ฉํ์ง ์์)
API๋ ์ธ์ ๊ด๋ฆฌ(์: ์๋ ๋ก๊ทธ์์)์ ๋์์ด ๋ ์ ์์ง๋ง ๊ธฐ๋ณธ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ผ๋ก ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค. ์ค์ํ ์์ ์ ๋ํด ํด๋ผ์ด์ธํธ ์ธก ์ ํธ๋ง ์ ๋ขฐํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ๋ณด์ ์ํฐ ํจํด์ ๋๋ค.
- ์๋ฒ ์ธก ํ์ธ: ํญ์ ์๋ฒ ์ธก์์ ์ธ์ ์ ํจ์ฑ ๋ฐ ์ฌ์ฉ์ ์ธ์ฆ์ ํ์ธํ์ญ์์ค.
- ๊ณ์ธตํ๋ ๋ณด์: ๊ฐ๋ ฅํ ์๋ฒ ์ธก ์ธ์ ๊ด๋ฆฌ ๋ฐ ์ธ์ฆ ํ๋กํ ์ฝ์ ๋ณด์ํ๋ ๋ณด์ ๊ณ์ธต ์ค ํ๋๋ก ์ ํด ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ญ์์ค.
๊ธ๋ก๋ฒ ์ฌ์ฉ์ ๊ธฐ๋์น ๋ฐ ๋ฌธํ์ ๋์์ค
๊ตญ์ ์ฌ์ฉ์๋ฅผ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณํ ๋ \"์ ํด\"๊ฐ ๋ค๋ฅธ ์๋ฏธ์ ์ํฅ์ ๊ฐ์ง ์ ์์์ ๊ณ ๋ คํ์ญ์์ค.
- ์ ๊ทผ์ฑ: ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์๋ ์ผ๋ฐ์ ์ธ ๋ง์ฐ์ค/ํค๋ณด๋ ์ด๋ฒคํธ๋ฅผ ์์ฑํ์ง ์์ ์ ์๋ ๋ณด์กฐ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ฅ์น์ ๋ค๋ฅด๊ฒ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. API์ ์์คํ ์์ค ๊ฐ์ง๋ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ์กด ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ณด๋ค ์ด ์ ์์ ๋ ๊ฐ๋ ฅํฉ๋๋ค.
- ์ํฌํ๋ก: ํน์ ์ ๋ฌธ ์ํฌํ๋ก(์: ์ ์ด์ค ๋๋ ํ๋ ์ ํ ์ด์ ์ค)์๋ ์ง์ ์ ๋ ฅ ์์ด ์๋ ๋ชจ๋ํฐ๋ง ๊ธฐ๊ฐ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ์ฅ์น ์ฌ์ฉ ํจํด: ์ง์ญ์ ๋ฐ๋ผ ์ฌ์ฉ์๋ ๋ค์ํ ๋ฉํฐํ์คํน, ์ฅ์น ์ ํ ๋๋ ํ๋ฉด ์ ๊ธ/์ ๊ธ ํด์ ํจํด์ ๊ฐ์ง ์ ์์ต๋๋ค. ๋ ผ๋ฆฌ๊ฐ ์ ์ฐํ๊ณ ์์ฉ๋ ฅ์ด ์๋๋ก ์ค๊ณํ์ญ์์ค.
์ ํด ๊ฐ์ง ๋ฐ ์น ๊ธฐ๋ฅ์ ๋ฏธ๋
์น ํ๋ซํผ์ด ๊ณ์ ์งํํจ์ ๋ฐ๋ผ ์ ํด ๊ฐ์ง API๋ ๋ณด๋ค ๊ฐ๋ ฅํ๊ณ ์ํฉ์ ๋ง๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํฅํ ๋จ๊ณ๋ฅผ ๋ํ๋ ๋๋ค. ๋ฏธ๋์๋ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ๋ ๋์ ๋ธ๋ผ์ฐ์ ์ฑํ: ๋ชจ๋ ์ฃผ์ ๋ธ๋ผ์ฐ์ ์์ง์์ ์ง์์ด ์ฆ๊ฐํ์ฌ ๊ฐ๋ฐ์์๊ฒ ์ ๋น์ฟผํฐ์ค ๋๊ตฌ๊ฐ ๋ฉ๋๋ค.
- ๋ค๋ฅธ API์์ ํตํฉ: Web Bluetooth, Web USB ๋๋ ๊ณ ๊ธ ์๋ฆผ API์ ๊ฐ์ ๋ค๋ฅธ ๊ณ ๊ธ API์์ ์๋์ง ํจ๊ณผ๋ ํจ์ฌ ๋ ํ๋ถํ๊ณ ํตํฉ๋ ๊ฒฝํ์ ๊ฐ๋ฅํ๊ฒ ํ ์ ์์ต๋๋ค. ๋ ์ผ์ ์ค๋งํธ ํ์ด๋ ์ผ๋ณธ์ ๊ณต์ฅ์์ ์ ํด ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ ์ฅ์น์ ๋ํ ์ฐ๊ฒฐ์ ์ง๋ฅ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ IoT ์ฅ์น์ ๋ฐฐํฐ๋ฆฌ ์๋ช ์ ์ต์ ํํ๋ PWA๋ฅผ ์์ํด ๋ณด์ญ์์ค.
- ํฅ์๋ ๊ฐ์ธ ์ ๋ณด ์ ์ด: ์ฌ์ฉ์๊ฐ ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋ค๋ฅธ ์ ํด ๊ฐ์ง ๊ถํ ๋๋ ์๊ณ๊ฐ์ ์ง์ ํ ์ ์๋๋ก ์ ์ฌ์ ์ผ๋ก ๋ ์ธ๋ถํ๋ ์ฌ์ฉ์ ์ ์ด.
- ๊ฐ๋ฐ์ ๋๊ตฌ: ์ ํด ์ํ๋ฅผ ๋๋ฒ๊น ํ๊ณ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํ ๊ฐ์ ๋ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํตํด ๊ฐ๋ ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์ฝ๊ฒ ๊ตฌ์ถํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค.
์งํ ์ค์ธ ๊ฐ๋ฐ ๋ฐ ํ์คํ ํ๋ก์ธ์ค์๋ ๊ด๋ฒ์ํ ์ปค๋ฎค๋ํฐ ํผ๋๋ฐฑ์ด ํฌํจ๋์ด ๊ฐ๋ ฅํ ๊ธฐ๋ฅ๊ณผ ๊ฐ๋ ฅํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ฅ์น ๊ฐ์ ๊ท ํ์ ์ ์งํ๋ฉด์ API๊ฐ ์งํํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ฒฐ๋ก : ๋ ์ค๋งํธํ ์น ๊ฒฝํ ์ง์
ํ๋ก ํธ์๋ ์ ํด ๊ฐ์ง API๋ ์น ๊ฐ๋ฐ์ ์ค์ํ ๋ฐ์ ์ผ๋ก, ์ฌ์ฉ์ ํ๋์ ์ดํดํ๊ธฐ ์ํ ํ์คํ๋๊ณ ํจ์จ์ ์ด๋ฉฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฐ์๋ ํด๋ฆฌ์คํฑ ์ถ์ธก์ ๋์ด ์ฌ์ฉ์ ์ฐธ์ฌ ํจํด์ ์ง์ ์ผ๋ก ์ ์ํ๋ ๋ณด๋ค ์ง๋ฅ์ ์ด๊ณ ์์ ํ๋ฉฐ ๋ฆฌ์์ค ์นํ์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ ฅํ ์ธ์ ๊ด๋ฆฌ์์ PWA์ ์ ์ ๊ธฐ๋ฅ ๋ฐ ์ ํํ ๋ถ์์ ์ด๋ฅด๊ธฐ๊น์ง ์ ์ธ๊ณ ์น ๊ฒฝํ์ ํฅ์์ํฌ ์ ์๋ ์ ์ฌ๋ ฅ์ ์์ฒญ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ํฐ ํ์๋ ํฐ ์ฑ ์์ด ๋ฐ๋ฆ ๋๋ค. ๊ฐ๋ฐ์๋ ํนํ ๋ค์ํ ๊ตญ์ ์ฌ์ฉ์๋ฅผ ์ํด ๊ตฌ์ถํ ๋ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์ฐ์ ์ํ๊ณ ํฌ๋ช ์ฑ์ ๋ณด์ฅํ๋ฉฐ ์ค๋ฆฌ์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํด์ผ ํฉ๋๋ค. ์ ํด ๊ฐ์ง API๋ฅผ ์ ์คํ๊ณ ์ฑ ์๊ฐ ์๊ฒ ์์ฉํจ์ผ๋ก์จ ์ฐ๋ฆฌ๋ ํจ๊ป ์น์์ ๊ฐ๋ฅํ ๊ฒ์ ๊ฒฝ๊ณ๋ฅผ ๋ํ๊ณ ๊ธฐ๋ฅ์ ์ผ ๋ฟ๋ง ์๋๋ผ ์ง๊ด์ ์ด๊ณ ์์ ํ๋ฉฐ ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์กด์คํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ด API๊ฐ ๋ ๋๋ฆฌ ์ฑํ๋จ์ ๋ฐ๋ผ ์์ฌํ ์ฌ์ง ์์ด ํ๋ ์น ๊ฐ๋ฐ์์ ํดํท์์ ์์ด์๋ ์ ๋ ๋๊ตฌ๊ฐ ๋์ด ์ฐจ์ธ๋ ์ง์ ์ผ๋ก ์ค๋งํธํ๊ณ ๋ฐ์์ฑ์ด ๋ฐ์ด๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์ถ๊ฐ ์๋ฃ
W3C ์ด์ ์ปค๋ฎค๋ํฐ ๊ทธ๋ฃน ๋ณด๊ณ ์: ์ ํด ๊ฐ์ง API์ ๋ํ ์ต์ ์ฌ์ ๋ฐ ์งํ ์ค์ธ ํ ๋ก ์ ๋ณด๋ ค๋ฉด ๋ค์์ ์ฐธ์กฐํ์ญ์์ค.
MDN ์น ๋ฌธ์: ํฌ๊ด์ ์ธ ๋ฌธ์ ๋ฐ ๋ธ๋ผ์ฐ์ ํธํ์ฑ ํ.
๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋ธ๋ก๊ทธ: API ์ ๋ฐ์ดํธ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ Chrome, Edge ๋ฐ ๊ธฐํ ๋ธ๋ผ์ฐ์ ํ์ ๋ฐํ์ ์ฃผ๋ชฉํ์ญ์์ค.