[Cloudflare] Worker

Worker๋ ํด๋ผ์ฐ๋ํ๋ ์ด์ ์๋ฒ๋ฆฌ์ค ํ์
์๋น์ค๋ค. ๋ณธ์ธ๋ค์ ์ฃ์ง ์๋ฒ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์กฐ๊ธ ๋ค๋ฅด๊ธด ํ์ง๋ง AWS์ Lambda ๋ฑ๊ณผ ๋์น๋๋ค๊ณ ํ ์ ์๋ค.
์ธ์ด๋ Javascript ๋ฟ์ด๊ณ , ๋ชจ๋ import๋ ์ ํ์ ์ผ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
๊ทธ๋์ ์ ๋ง ๊ฐ๋ณ๊ณ ๋จ์ํ ์์
์ ํ๋๋ฐ ์ ์ ํ๋ค.
๋ณดํต ๊ถ์ฅํ๋ ์ฌ์ฉ๋ฒ์, ์์ฒญ๊ณผ ์๋ต์ ์ค๊ฐ์ ๊ฐ๋ก์ฑ์ ๋ณ์กฐ๋ฅผ ๊ฐํ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ A/B ํ
์คํธ๋ฅผ ๊ตฌํํ ๋ ์์ฃผ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. A/B ํ
์คํธ์ ๋ํ ๋ก์ง์ ์์ปค์ ์บก์ํํด์ ๋น ๋ฅด๊ฒ ๋ฐฐํฌ, ์ ํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๊ฒ ๋ฐฐํฌ๊ฐ ์ ๋ง ๋น ๋ฅด๋ค.
๋ด ๊ฒฝ์ฐ์๋ ํฌ๋กค๋ง์ฉ์ผ๋ก ๋ง์ด ์ฐ๊ณ ์์๋ค.
ํด๋ผ์ฐ๋ํ๋ ์ด ๋์ญ์ ๋ง์๋์๋ฐ๊ฐ ๊ฑฐ์ ์์ด์.. ์ ํตํ๋ค.
์ฒ์ ์ง์ ํ๋ฉด ์๊ธ์ ๋ฅผ ์ ํํ๋ผ๊ณ ํ๋ค.
์๊ท๋ชจ๋ก๋ง ์ฌ์ฉํ ๊ฑฐ๋ผ๋ฉด ๋ฌด๋ฃ๋ก๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
์ ๋ก๋ก ์ฐ๋๋ผ๋ ์๊ธ์ ํ์ฌ ๋๋น ๋งค์ฐ ์ ๋ ดํ ํธ์ด๋ค.

์์ปค ์์ฑ
์์ปค๋ฅผ ํ๋ ์์ฑํด๋ณด์.
์๋น์ค ์์ฑ ๋ฒํผ์ ๋๋ฅธ๋ค.

์์ปค์ ์ด๋ฆ๊ณผ ์์ด๋๊ฐ ์์ปค URL์ ์๋ธ๋๋ฉ์ธ์ด ๋๋ค.
๊ทธ๋ฅ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์์ฑํด๋ ๋๋ค.
๊ทธ๋ผ ์ด๋ฐ์์ผ๋ก ์์ฑ๋ ๊ฒ์ด๋ค.

๊ทธ๋ฆฌ๊ณ ์ ๊ธฐ ์์ฑ๋ ๊ฒฝ๋ก๋ก ์ ์ํ๋ฉด ๊ธฐ๋ณธ ํ ์คํธ๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ด๋ค.

์์ค์ฝ๋ ํธ์ง
๋ฆฌ์์ค์์ "๋น ๋ฅธ ํธ์ง" ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์๋ํฐ๋ก ์ด๋ํ ์ ์๋ค.
๋ค์ ํน์ดํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
fetch ์ด๋ฒคํธ์๋ค ํธ๋ค๋ฌ ํจ์๋ฅผ ๊ฑธ์ด๋๊ณ , ํธ๋ค๋ฌ ํจ์๋ก ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ๋ค.
์์ฒญ, ์๋ต๊ฐ์ ๋ํ ๋ช
์ธ๋ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๊ธธ ๋ฐ๋๋ค.
https://developers.cloudflare.com/workers/runtime-apis/request/
https://developers.cloudflare.com/workers/runtime-apis/response/
์ฝ์๋ก๊ทธ๋ ์์ธ๋ ์ ๊ธฐ ๊ฐ๋ฐ์๋๊ตฌ์ฒ๋ผ ์๊ธด๋ฐ์ ๋ณผ ์ ์๋ค.

์์ค์ฝ๋์ ๋ฐฐํฌ๋ ์ ๊ธฐ ์๋ ๋ฐฐํฌ๋ฒํผ ๋๋ฅด๋ฉด ๋๋ค.
๊ฐ๋จํ๋ค.

์๋ต, ์์ฒญ ์ฒ๋ฆฌํด๋ณด๊ธฐ
Response ๊ฐ์ฒด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ
์คํธ๋ง ๋ฐ๋๋ค.
๋ง์ฝ json์ผ๋ก ๋ฐํํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ๋ฉด ๋๋ค.


URL ํ๋ผ๋ฏธํฐ๊ฐ์๊ฑธ ๊ฐ์ ธ์ค๋ ค๋ฉด ์ง์ ํ์ฑ์ ํด์ค์ผ ํ๋ค.
๋ง์
์ ์ฒ๋ฆฌํด์ฃผ๋ api๋ฅผ ๋ง๋ ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค.


ํธ๋ฆฌ๊ฑฐ
์์ปค๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ฑธ์ด์ ์๊ฐ ์ฃผ๊ธฐ๋ก ์๋์ผ๋ก ๋๊ฒ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.

๋จ์ ์๊ฐ ๋จ์๋ก๋ ๋๊ณ

ํฌ๋ก ์๋ ์ฌ์ฉํ ์ ์๋ค.
๊ทผ๋ฐ ์๋น์ค ํน์ฑ์ ์ด๊ฑธ ์ธ์ผ์ด ์์์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค.