๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ ๊ธฐ์ˆ  ๋ฉด์ ‘/Web

SOP์™€ CORS์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

by Dev. Ella 2023. 4. 5.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Same-Origin Policy์™€ CORS์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

@CodeStates

 

๐Ÿ’๐Ÿป‍โ™€๏ธ ์š”์•ฝํ•˜์ž๋ฉด ,

SOP๋Š” '๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…'์œผ๋กœ, ๊ฐ™์€ ์ถœ์ฒ˜์˜ ๋ฆฌ์†Œ์Šค๋งŒ ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ •์ฑ…์ด๋ฉฐ, CORS๋Š” '๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ ' ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” SOP์— ์˜ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ ๋ฅผ ๋ง‰์ง€๋งŒ, CORS ์„ค์ •์„ ํ†ตํ•ด ์ ‘๊ทผ ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

SOP(Same-Origin Policy)

SOP์˜ ์ถœ์ฒ˜๋Š” ํ”„๋กœํ† ์ฝœ, ํ˜ธ์ŠคํŠธ, ํฌํŠธ์˜ ์กฐํ•ฉ์œผ๋กœ ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๋‹ค๋ฅด๋ฉด ๋™์ผํ•œ ์ถœ์ฒ˜๋กœ ๋ณด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ž ์žฌ์ ์œผ๋กœ ํ•ด๋กœ์šธ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ๋ฅผ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ๊ณต๊ฒฉ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ค„์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํ•ดํ‚น ๋“ฑ์˜ ์œ„ํ˜‘์œผ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €๋Š” SOP ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ์ผ์ด ๋งŽ์€๋ฐ์š”. 

 

CORS(Cross-Origin Resources Sharing)

์ด๋•Œ CORS๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MDN์—์„œ๋Š” CORS๋ฅผ ์ถ”๊ฐ€ HTTP ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ์ถœ์ฒ˜์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋„๋ก ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์ฃผ๋Š” ์ฒด์ œ ๋ผ๊ณ  ํ•˜๋Š”๋ฐ์š”. ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ํ—ค๋”, ์ฆ‰ Access-Control-Allow-Origin์„ ์ž‘์„ฑํ•˜๋ฉด ์ ‘๊ทผ ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๐Ÿ“Ž ๋‚ด์šฉ ์ฐธ์กฐ

- ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  ์œ ์–ดํด๋ž˜์Šค : CORS, SOP

- MDN : CORS

๋Œ“๊ธ€