๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’š ๊ฐœ๋ฐœ/์›น

SOP ์™€ CORS ๊ฐ„๋‹จ ์„ค๋ช…

by devshin.kr 2021. 12. 22.
728x90
๋ฐ˜์‘ํ˜•
SOP(Same-Origin Policy)

CORS ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ ๋ฐ˜๋Œ€(?) ๊ฐœ๋…์ธ SOP(Same-Origin Policy)๊ฐ€ ์žˆ๋‹ค.
๋™์ผํ•œ ์ถœ์ฒ˜์—์„œ ์˜จ ์š”์ฒญ๋งŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐœ๋ฐœ์ž ๊ด€์ ์—์„œ ๋ณด๋ฉด ์ด๋Š” ํ”„๋ก ํŠธ์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ฌธ์ œ. ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฌธ์ œ์ด๋‹ค. (๋ณด์•ˆ์ด ๋ถ™์œผ๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋ถˆํŽธํ•ด์ง€๊ฒŒ ๋œ๋‹ค.. ํ•˜ํ•˜)
์‚ฌ์‹ค ๋ฌธ์ œ๋Š” ์•„๋‹ˆ๊ณ , ๋ธŒ๋ผ์šฐ์ € ๋‹จ์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‚ด๊ฐ€ ์‚ฌ์ดํŠธ A์— ๋‚ด ๋กœ๊ทธ์ธ ์ •๋ณด(์ธ์ฆ)๋ฅผ ๊ธฐ์–ตํ•˜๋„๋ก ํ–ˆ๋‹ค. ์•…์˜์ ์ธ ์‚ฌ์ดํŠธ B๋Š” ์™ธ๊ด€์ƒ์œผ๋กœ ์‚ฌ์ดํŠธ A์™€ ์ฐจ์ด์ ์ด ์—†์–ด ๋ณด์ธ๋‹ค. ์•…์˜์ ์ธ ์‚ฌ์ดํŠธ B์—์„œ ์‚ฌ์ดํŠธ A์— ์žˆ๋Š” ๋‚ด ์ธ์ฆ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•ด ๋‚˜์˜ ์ธ์ฆ์ •๋ณด๋ฅผ ์ด์šฉํ•ด ๋‚ด๊ฐ€ ์‚ฌ์ดํŠธ B์— ๋กœ๊ทธ์ธ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํฐ ํ”ผํ•ด๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ถœ์ฒ˜ ๊ฐ„ ์š”์ฒญ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ง‰์•„ ๋‘”๋‹ค.


CORS(Cross-Origin Resource Sharing)

CORS(Cross-Origin Resource Sharing)๋Š” ๋‹ค๋ฅธ ์ถœ์ฒ˜ ๊ฐ„์— ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์‚ฌ์ดํŠธ C์™€ ์‚ฌ์ดํŠธ D๊ฐ€ ์„œ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ผ๋ฉด, HTTP ์ •๋ณด ์š”์ฒญ๊ณผ ๋ฐ˜ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์š”์ฒญ์— origin ์ด๋ผ๋Š” header ๋ฅผ ์ถ”๊ฐ€ํ•ด ํŠน์ • ๋„๋ฉ”์ธ์ด๋‚˜ *(๋ชจ๋“  ๋„๋ฉ”์ธ)์„ ์ ์–ด ์ค€๋‹ค.
๋˜ ์ธ์ฆ์ •๋ณด/ํ† ํฐ ๋“ฑ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ์‚ฌ์ดํŠธ๋“ค ๊ฐ„์— CORS ๋ฅผ ํ—ˆ์šฉํ•˜๋ ค๋ฉด credentials ์„ true ๋กœ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.


์ฐธ๊ณ :
https://developer.mozilla.org/ko/docs/Web/HTTP/CORS

๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ  (CORS) - HTTP | MDN

๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ (Cross-Origin Resource Sharing, CORS)๋Š” ์ถ”๊ฐ€ HTTP ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ํ•œ ์ถœ์ฒ˜์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์„ ํƒํ•œ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋„๋ก ๋ธŒ๋ผ

developer.mozilla.org



์ดํ•ด ์™์™ ์˜์ƒ:
https://youtu.be/bW31xiNB8Nc

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€