๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ŒCS/Web13

[Web] CORS(Cross-Origin Resource Sharing) ๊ฐœ๋… ๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ (Cross-Origin Resource Sharing, CORS)๋Š” ์ถ”๊ฐ€ HTTP ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ํ•œ ์ถœ์ฒ˜์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์„ ํƒํ•œ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋„๋ก ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์ฃผ๋Š” ์ฒด์ œ์ด๋‹ค. ๋ณด์•ˆ ์ƒ์˜ ์ด์œ ๋กœ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‹œ์ž‘ํ•œ ๊ต์ฐจ ์ถœ์ฒ˜ HTTP ์š”์ฒญ์„ ์ œํ•œํ•œ๋‹ค. ์ถœ์ฒ˜๋ž€? ๋„๋ฉ”์ธ(ํ˜ธ์ŠคํŠธ), ํ”„๋กœํ† ์ฝœ, ํฌํŠธ๊ฐ€ ๋‹ค๋ฅผ ๋•Œ ์ถœ์ฒ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค๊ณ  ๋งํ•˜๋ฉฐ, ์ด๋•Œ ๊ต์ฐจ ์ถœ์ฒ˜ HTTP ์š”์ฒญ์„ ์‹คํ–‰ํ•œ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ž์‹ ์˜ ์ถœ์ฒ˜์™€ ๋™์ผํ•œ ๋ฆฌ์†Œ์Šค๋งŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ ค๋ฉด ๊ทธ ์ถœ์ฒ˜์—์„œ ์˜ฌ๋ฐ”๋ฅธ CORS ํ—ค๋”๋ฅผ ํฌํ•จํ•œ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค. ํ•ด๊ฒฐ(ํ—ˆ์šฉ) ๋ฐฉ๋ฒ• XMLHttpRequest์™€ Fetch API๋Š” ๋™์ผ ์ถœ์ฒ˜.. 2021. 4. 18.
[Web] HTTP, HTTPS, HTTP ๋ฒ„์ „ HTTP Hyper Text Transfer Protocol์˜ ์•ฝ์–ด๋กœ WWW(World Wide Web)์— ๋‚ด์žฌ๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ์ž์›(ํŒŒ์ผ, ์ด๋ฏธ์ง€, ๋น„๋””์˜ค)์„ ๊ตํ™˜ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ(์•ฝ์†, ๊ทœ์น™) ∴ HTTP๋Š” ์ธํ„ฐ๋„ท์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์›น ์„œ๋ฒ„๊ฐ„ ํ†ต์‹ (๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Œ)์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ ์ค‘ ํ•˜๋‚˜ ๊ธฐ๋ณธ ํฌํŠธ 80 ํ•˜์ดํผํ…์ŠคํŠธ ๋ฌธ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํ…์ŠคํŠธ ํ˜•์‹์˜ ๋งˆํฌ์—… ์–ธ์–ด๊ฐ€ HTML(ํ•˜์ดํผ ํ…์ŠคํŠธ ๋งˆํฌ์—… ์–ธ์–ด) ๋ฌธ์„œ ๊ฐ™์€ ๊ฒƒ์„ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ ํ”„๋กœํ† ์ฝœ์ด HTTP(ํ•˜์ดํผํ…์ŠคํŠธ ์ „์†ก ํ”„๋กœํ† ์ฝœ) ๋ฌธ์„œ๋ฅผ ๋””์Šคํ”Œ๋ ˆ์ดํ•˜๊ธฐ ์œ„ํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ WWW(์ฒซ๋ฒˆ์งธ ๋ธŒ๋ผ์šฐ์ €) CORS(Corss-Origin Resource Sharing) ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๋ธŒ๋ผ์šฐ์ €๋“ค์ด ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—๊ฒŒ XHR ์š”์ฒญ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ์ œํ•œํ•  .. 2021. 4. 8.
[Web] ์ฟ ํ‚ค์™€ ์„ธ์…˜ HTTP ํ”„๋กœํ† ์ฝœ ํŠน์ง• ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ(Connectionless) ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ต์„ ํ•˜๊ณ  ์ ‘์†์„ ๋Š๋Š” ํŠน์„ฑ์ด ์žˆ๋‹ค.(HTTP1.1์—์„œ Connectionํ—ค๋”์— keep-alive์„ค์ •ํ•˜๋ฉด ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.) ์ƒํƒœ์ •๋ณด ์œ ์ง€ ์•ˆ ํ•จ(Stateless) HTTP ํ†ต์‹ ์€ ์š”์ฒญ์„ ์‘๋‹ตํ•˜๊ณ  ์ ‘์†์„ ๋Š๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. ์ฟ ํ‚ค์™€ ์„ธ์…˜์˜ ํ•„์š”์„ฑ ์ฟ ํ‚ค์™€ ์„ธ์…˜์˜ ํƒ„์ƒ → HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•จ ์œ„์™€ ๊ฐ™์€ HTTP ํ”„๋กœํ† ์ฝœ์˜ ํŠน์ง•์œผ๋กœ ๋ชจ๋“  ์š”์ฒญ๊ฐ„์˜ ์˜์กด๊ด€๊ณ„๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•  ์ˆ˜ ์—†๋‹ค. ์ด์ „ ์š”์ฒญ๊ณผ ํ˜„์žฌ ์š”์ฒญ์ด ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ธ์ง€ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ .. 2021. 4. 4.
[Web] REST & RESTful REST & RESTful REST๋Š” HTTP, ํ”„๋กœํ† ์ฝœ์ด ์•„๋‹ˆ๋‹ค! REST๋Š” ์ผ์ข…์˜ ๊ฐ€์ด๋“œ๋ผ์ธ์ด๋‹ค. REST API ๋Š” REST ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค API๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ REST ์›๋ฆฌ๋ฅผ ๋”ฐ๋ผ๋ฅด๋Š” ์‹œ์Šคํ…œ(์„œ๋น„์Šค)๋ฅผ RESTful ์ด๋ผ๊ณ  ํ•œ๋‹ค. = REST API ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ RESTful ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. REST REST๋Š” Representational State Transfer์˜ ์•ฝ์ž๋กœ ๋ถ„์‚ฐ ํ•˜์ดํผ ๋ฏธ๋””์–ด ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์˜ ํ•œ ํ˜•์‹์ด๋‹ค. ์›น์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์ž์›(์ด๋ฏธ์ง€, ๋™์˜์ƒ, DB์ž์›)์— ๊ณ ์œ ํ•œ URL์„ ๋ถ€์—ฌํ•ด ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ž์›์„ ์ •์˜ํ•˜๊ณ  ์ž์›์— ๋Œ€ํ•œ ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์„ ์˜๋ฏธํ•œ๋‹ค. → URL์— ์ž์›์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ HTTP URI ๋ฅผ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ  HTT.. 2021. 4. 3.