๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ CORS, Browser Security Model
๋คํธ์ํฌ์ ๊ด๋ จ๋ ๊ฐ๋ ๋ค์ ๋ฐฐ์ ๋๋ฐ, ์ฒ์ ์ ์ก๋๋ ๋๋ฉ์ธ๊ณผ ๋ค๋ฅธ ๋๋ฉ์ธ์ด ๋ฆฌ์์ค ์์ฒญ์ ํ์ ๋ CORS์ ์ํด ์์ฒญ๋๋ค๋ ๊ฒ์ ์๊ฒ๋์๋ค. ๊ฐ๋จํ ํ๋ฆ์ ์ดํด๋ณด๋ฉด, ์๋ฒ๋ ์์ฒญ์ ๋ํด ์๋ต์ ํ ๋ ํค๋์ Access-Control-Allow-Origin์ ๊ฐ์ผ๋ก ๋ฆฌ์์ค ์ ๊ทผ์ด ํ์ฉ๋ ์ถ์ฒ๋ฅผ ๊ฐ๊ณ ๋ธ๋ผ์ฐ์ ๋ ์ดํ์ ์๊ธฐ๊ฐ ๋ณด๋ธ ์์ฒญ๊ณผ ์๋ฒ์ ์๋ต์ ๋น๊ตํด ์ ํจ์ฑ์ ํ๋จํ๊ฒ ๋๋ค. ์ด๋ฐ CORS๋ ์ธ๊ฐ์ง ์ํฉ์ ๋ฐ๋ผ ๋์ํ๋ ๋ฐฉ์์ด ๋ฐ๋๋ค.์ฒซ๋ฒ์งธ๋ Preflight ์์ฒญ์ธ๋ฐ, OPTIONS ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณธ๊ฒฉ์ ์ธ ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ , ์ด๋ค ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ํ์ ํ๋ ์์ฒญ์ด๋ค. ๋๋ฒ์งธ๋ ์ผ๋ฐ์ ์ธ ์์ฒญ์ธ Simple Request, ๋ง์ง๋ง์ ๋ณด์ ๊ฐํ๋ฅผ ์ํด ์์ฒญ์ ์ธ์ฆ์ ํจ๊ป ๋ณด๋ด๋ Credentialed Request ์ด๋ค. ์ถ๊ฐ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ฅผ ์ ๋ขฐํด ๋ฐ์ํ๋, ๋ฉ์ธ์ง์ ์คํฌ๋ฆฝํธ ๋ฑ์ ํฌํจํด ๋ณด๋ด๋ XSS์ด์, ๊ทธ๋ฆฌ๊ณ ์๋ฒ๊ฐ ์ฌ์ฉ์ ์ธ์ฆ์ ๋ณด๋ฅผ ์๋ ๊ทธ๋๋ก ๋ฏฟ์ด๋ฒ๋ฆฌ๋ ๋ฐ๋์ ๋ฐ์ํ๋ ์ด์์ธ CSRF ์ด์์ ๋ํด์๋ ๋ฐฐ์ ๋ค.
โ๏ธ ์ฑํ ์ฑ - ํด๋ผ์ด์ธํธ ๋ถ๋ถ ๋ง๋ฌด๋ฆฌ ์ง๊ธฐ
๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ ๋ ๊ด๋ จ ์ฃผ์ ์ ํ๊ทธ๋ฅผ ๋ฌ์์ ๋ณด๋ผ ์ ์๋๋ฐ, ์๋ ์ด๋ถ๋ถ์ inputํ๊ทธ๋ก ์ ๋ ฅ๋ฐ์ ํ๊ทธ๋ฅผ ์ง์ ์์ฑํ ์ ์๊ฒ ๋ง๋ค์์๋ค. ๊ทธ๋ฐ๋ฐ ID๋ ์ ๋ ฅํด์ผํ๋ค๋ณด๋ ์ฑํ ํ๋ฒ ์น๋๋ฐ ๋๋ฌด ๋ฒ๊ฑฐ๋ก์ด ๊ฒ ๊ฐ์ ๊ทธ๋ฅ ์ ํํ ์ ์๋๋ก option ํ๊ทธ๋ก ๋ณ๊ฒฝํด์ฃผ์๋ค. ๊ฐ ํ๊ทธ๋ณ๋ก ๋ฉ์ธ์ง๋ฅผ ํํฐ๋งํด์ ๋ณด๊ฒํ๋ ๊ธฐ๋ฅ์ด ์์๋๋ฐ ์ฌ๊ธฐ์ ๊ฐ ํ๊ทธ๋ง๋ค ๋ช๊ฐ์ ๋ฉ์ธ์ง๊ฐ ์๋ ์ง ํ์ํ๋ ๋ถ๋ถ๋ ์ถ๊ฐํด ์ฃผ์๋ค. ๋ง์ง ๋ฌธ์ ๋ ํด๊ฒฐํ๊ณ ๋ช๋ถ์ ์ ๋ณด๋ธ ๋ฉ์์ง์ธ์ง ์ ์ ์๋๋ก ์๊ฐ๋ ํ๊ธฐํด์ฃผ์ด ๋ง๋ฌด๋ฆฌ ์ง์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ MIME type
์น์์ ํ์ผ์ ํ์ฅ์๊ฐ ๋ฌด์์ธ์ง ํด๋ผ์ด์ธํธ์๊ฒ ์๋ ค์ฃผ๋ ๋ฑ ๋ฌธ์์ ํ์ ๋ํ ์ ๋ณด๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ํด ์ ํด๋ ๋ฐฉ๋ฒ
(ex. image/png, application/json...)
โ๏ธAJAX, JSON
Javascript ์๋ ์์ → XMLHttpRequest ๋ก HTML ์กฐ์(?)
Javascript ํ๋ฐ ์ดํ → JSON์ผ๋ก Javascript๋ก DOM ์กฐ์ ๊ฐ๋ฅ (JSON์ Javascript ๊ฐ์ฒดํ์์ด๋๊น ํจ์ฌ ๋ค๋ฃจ๊ธฐ ํธํด์ง..+๋ค๋ฅธ ์ธ์ด์์๋ ํค, ๊ฐ ๊ฐ๋ ๊ฐ์ฒดํ์์ ๋งค์ฐ ํํด์ ์ฌ๊ธฐ์ ๊ธฐ์ ๊ณตํต์ผ๋ก ์ฐ๊ธฐ ์ข์)
โ๏ธ RESTFULํ๋ค = ๋๊ตฌ๋ ๋ฑ๋ณด๋ฉด ์๋ค
โ๏ธ ์ถ๊ฐ
POSTMAN์์ fetch ๋ฟ๋ง ์๋๋ผ XHR, jQuery ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ํ์ธํด๋ณด์๋ค.
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ CORS
โ๏ธ CSRF, XSRF (๋ณด์๋ฌธ์ )
โ๏ธ TCP/IP
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210206_TIL (2) | 2021.02.07 |
---|---|
210205_TIL (0) | 2021.02.06 |
210203_TIL (0) | 2021.02.04 |
210202_TIL (0) | 2021.02.03 |
210201_TIL (0) | 2021.02.02 |
๋๊ธ