๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ CORS ์ ๋ฆฌ
CORS์ ์์ฒญ๋ฐฉ๋ฒ์ด ์ธ ๊ฐ์ง๊ฐ ์๋๋ฐ, Preflight Request, Simple Request, Credential Request ์ด๋ ๊ฒ ๋๋๋ค. ๊ฐ๊ฐ์ ์กฐ๊ฑด๋ค์ด ์์ด์ ๊ทธ ๋ถ๋ถ์ ๋ํด ์ ๋ฆฌํ๋ค. ํนํ CORS๋ฅผ ํ๋จํ๋ ์์ ์ด ์ค์ํ๋ค๊ณ ๋๊ปด์ก๋๋ฐ, ํ๋จ + ์๋ต ํ๊ธฐ ์ฌ๋ถ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฒฐ์
ํ๊ธฐ ๋๋ฌธ์, ์์ฒญ์ ์คํจ๋ ์ฑ๊ณต์ ์๊ด์์ด ๊ทธ ์ดํ์ CORS ์๋ฐ ์ฌ๋ถ๊ฐ ํ๋จ๋๋ค. ์ด ์ ์ ํ ์คํธ๋ฅผ ํด๋ณด๋ฉด์ ์ง์ ํ์ธํ ์ ์์๋ค.
โ๏ธ CORS ํ ์คํธ
ํด๋ผ์ด์ธํธ๋ ์๋ฒ๋ฅผ ๋ถ๋ฆฌํด์ CORS์ ๊ด๋ จ๋ ํ ์คํธ๋ค์ ํด๋ดค๋ค. ํฌํธ๋ฒํธ๊ฐ ๋์ผํ ๋์ ๋ค๋ฅผ ๋, Allow-Control-Allow-Origin ๊ฐ์ * ๋ก ํ์ ๋์ origin์ผ๋ก ์ค์ ํ์ ๋, ์์ฒญ์ ํค๋ Content-Type์ text/plain์ผ๋ก ์ค์ ํ์ ๋์ ์๋ ๋ (ํ๋ฆฌํ๋ผ์ดํธ ํ์ธ์ฉ) ๋ฑ ์ด๋ฐ ์ ๋ฐ ์กฐํฉ์ผ๋ก ํ ์คํธ๋ฅผ ํด๋ณด๊ณ ๋คํธ์ํฌ์ฐฝ์ ํ์ธํด๋ดค๋ค. ํฌํธ๊ฐ ๋์ผํ ๋๋ ERR_FAILED ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ , ํฌํธ๊ฐ ๋ค๋ฅผ ๋๋ ERR_EMPTY_RESPONSE ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ, ์ ์๋ ๋ธ๋ผ์ฐ์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๊ณ ํ์๋ ์๋๋๋ก ๋์จ CORS์ ์ฑ ์๋ฐ์ผ๋ก์ธํ ์๋ฌ์ธ ๊ฒ ๊ฐ์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ Simple Request ์กฐ๊ฑด
์กฐ๊ฑด 1. ๋ฉ์๋ : GET, POST, HEAD
์กฐ๊ฑด 2. ํค๋ : Accept, Accept-Language, Content-Language, Content-Type, DPR, Downlink, Save-Data, Viewport-Width, Width
์กฐ๊ฑด 3. Content-type ๊ฐ : application/x-www-form-urlencoded, multipart/form-data, text/plain
(์ด ์ค ํ๋๋ผ๋ ๋ง์กฑํ์ง ์์ผ๋ฉด Preflight ์์ฒญ์ ๋ ๋ ค๋ฒ๋ฆผ)
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ERR_FAILED, ERR_EMPTY_RESPONSE
โ๏ธ ํ ์ด ๋ณต์ต
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210208_TIL (0) | 2021.02.09 |
---|---|
210207_TIL (0) | 2021.02.08 |
210205_TIL (0) | 2021.02.06 |
210204_TIL (0) | 2021.02.05 |
210203_TIL (0) | 2021.02.04 |
๋๊ธ