web
5 posts
REST API ์„œ๋ฒ„์— HTTPS ํ†ต์‹  ์„ค์ •ํ•˜๊ธฐ

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ๋ฐฑ์—”๋“œ REST API ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. โŒ Mixed Content: The page at โ€™https://ordinary-todolist.netlify.app/loginโ€™ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint โ€™http://43.201.130.34:8000/auth/signinโ€™. This request has been blocked; the content must be served over HTTPS. ๋‚ด์šฉ์„ ํ•ด์„ํ•ด๋ณด๋‹ˆ ์š”์ฒญ์„ HTTPS๋กœ ๋ณด๋‚ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด REST API ์„œ๋ฒ„๋Š” HTTPS ํ†ต์‹  ์„ค์ •๋„ ์•ˆํ•œ ์ž‘๊ณ  ์†Œ์ค‘ํ•œ ์•„์ด์˜€๋‹ค.. ์–ด์ฉ”์ˆ˜ ์—†์ง€. ๊นŒ์ง“๊ฑฐ ํ•œ๋‹ค. ๋„๋ฉ”์ธ ๊ตฌ๋งค HTTPS ํ†ต์‹ ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” SSL ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•˜๊ณ , SSL ์ธ์ฆ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„๋ฉ”์ธ์ด ํ•„์š”ํ•˜๋‹ค. ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋Š” ๋‹ค์–‘ํ•˜๋‹คโ€ฆ

May 24, 2023
web
CSR vs SSR vs SSG

Client Side Rendering ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋ Œ๋”๋ง์ด ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐฉ์‹ Angular์™€ React์™€ ๊ฐ™์€ ๋Œ€๋ถ€๋ถ„์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฒ˜์Œ์— ๋นˆ HTML ํŒŒ์ผ์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด HTML, CSS, JavaScript ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. CSR์€ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์ง€๋งŒ, ์ดํ›„ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋Œ€ํ•ด์„œ๋Š” ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)๊ณผ ๋งŽ์€ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ(์˜ˆ: ๊ฒŒ์ž„)๊ณผ ์–‘์‹ ๋ฐ ์ฑ„ํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฐ™์€ ๋งค์šฐ ์—ญ๋™์ ์ธ ์ฝ˜ํ…์ธ ๊ฐ€ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. CSR์˜ ์ฃผ์š” ๋‹จ์ ์€ ๊ฒ€์ƒ‰ ์—”์ง„์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. CSR์€ HTML ๋ฌธ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋™์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰ ์—”์ง„ ํฌ๋กค๋Ÿฌ๊ฐ€ ์ด๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ƒ‰์ธํ•˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šตโ€ฆ

March 21, 2023
web
SOP & CORS

๋‚ด ์›น์‚ฌ์ดํŠธ์—์„œ Github Issue ๊ธฐ๋Šฅ์œผ๋กœ ์—…๋กœ๋“œํ•œ ์‚ฌ์ง„์— ์ ‘๊ทผํ•˜๋„๋ก ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์—๋Ÿฌ์™€ ๋ถ€๋”ชํžˆ๋ฉด์„œ CORS์™€ SOP์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ ๋กœ ์‚ฌ์ง„์„ Github Issue๊ฐ€ ์•„๋‹Œ ๋ณ„๊ฐœ์˜ Github Repository์— ์—…๋กœ๋“œํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์—๋Ÿฌ๋Š” ํ•ด๊ฒฐ๋์ง€๋งŒ ์ •๋ง ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด๋ผ ์žŠ์ง€ ์•Š๋„๋ก ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•œ๋‹ค. ๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…(SOP)์ด๋ž€? Same-Origin Policy ์ถœ์ฒ˜๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค๋ฉด ๋ฆฌ์†Œ์Šค ์ƒํ˜ธ์ž‘์šฉ์„ ์ œํ•œํ•˜๋Š” ๋ณด์•ˆ ๋ฐฉ์‹ ์•„๋ฌด ์Šคํฌ๋ฆฝํŠธ๋‚˜ ๋ฆฌ์†Œ์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‘๋ฉด ๋ณด์•ˆ์ด ๋งค์šฐ ์ทจ์•ฝํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ถœ์ฒ˜๊ฐ€ ๊ฐ™์•„์•ผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ถœ์ฒ˜๋ผ๋Š” ๊ฒŒ ๋ญ”์ง€ ์•Œ์•„๋ณด์ž. ์ถœ์ฒ˜๋ž€? ๋‘ URL์˜ ํ”„๋กœํ† ์ฝœ, ๋„๋ฉ”์ธ ์ด๋ฆ„, ํฌํŠธ(๋ช…์‹œํ•œ ๊ฒฝ์šฐ) ๊ฐ€ ๋ชจ๋‘ ๊ฐ™์•„์•ผ ๋™์ผํ•œ ์ถœ์ฒ˜๋‹ค. ๊ณผ ๋™์ผํ•œ ์ถœ์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์œ„ ๋‘ URL์€ path๋งŒ ๋‹ค๋ฅผ ๋ฟ ์ถœ์ฒ˜๋Š” ๋™์ผํ•˜๋‹ค. ์•„๋ž˜ URL๋“ค๊ณผ ๊ฐ™์ด protocol, domain name, port ์ค‘โ€ฆ

May 23, 2022
web
URL์˜ ๊ตฌ์กฐ

URL์ด๋ž€? Uniform Resource Locator ์›น์—์„œ ์ •ํ•ด์ง„ ์œ ์ผํ•œ ๋ฆฌ์†Œ์Šค์˜ ์ฃผ์†Œ URL์€ ์›น์— ๊ฒŒ์‹œ๋œ ์–ด๋–ค ์ž์›(๋ฆฌ์†Œ์Šค)๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์นด๋‹ˆ์ฆ˜์ด๋‹ค. ๊ฐ๊ฐ์˜ URL์€ ์œ ์ผํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. URL์˜ ๊ตฌ์กฐ Protocol ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋–ค ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ”„๋กœํ† ์ฝœ: ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์—์„œ ์›ํ• ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•œ ๊ทœ์•ฝ Domain Name ๋ง๊ทธ๋Œ€๋กœ ๋„๋ฉ”์ธ ์ด๋ฆ„ IP ์ฃผ์†Œ๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•จ Port ํฌํŠธ ๋ฒˆํ˜ธ ํ‘œ์ค€ HTTP ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ์ƒ๋žต๋จ HTTP์˜ ๊ฒฝ์šฐ 80 ์ƒ๋žต, HTTPS์˜ ๊ฒฝ์šฐ 443 ์ƒ๋žต Path ์›น์„œ๋ฒ„์—์„œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ฒฝ๋กœ Parameters ์›น์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ ์œผ๋กœ ๊ตฌ๋ถ„ Anchor ๋ฆฌ์†Œ์Šค ๋‚ด์— ์ •ํ•ด์ง„ ์œ„์น˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” Anchor(๋‹ป) ๋’ค์— ์˜ค๋Š” ๋ถ€๋ถ„์€ ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จํ•ด ์ ˆ๋Œ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด์ง€ ์•Š์Œ URL๊ณผ URI ์ฐจ์ด URI(Uniform Resource Identifieโ€ฆ

May 23, 2022
web
์ธํ„ฐ๋„ท์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

์ธํ„ฐ๋„ท์ด๋ž€? ์ปดํ“จํ„ฐ๋“ค์ด ์„œ๋กœ ํ†ต์‹  ๊ฐ€๋Šฅํ•œ ๊ฑฐ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐ๋„ท์€ ์ปดํ“จํ„ฐ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ TCP/IP๋ฅผ ์ด์šฉํ•ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ TCP/IP ๋ž€? Transmission Control Protocol(์ „์†ก ์ œ์–ด ๊ทœ์•ฝ)๊ณผ Internet Protocol(์ธํ„ฐ๋„ท ๊ทœ์•ฝ) ์ปดํ“จํ„ฐ ์‚ฌ์ด์˜ ํ†ต์‹  ํ‘œ์ค€ ๋ฐ ๋„คํŠธ์›Œํฌ์˜ ๋ผ์šฐํŒ… ๋ฐ ์ƒํ˜ธ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ทœ์น™์„ ์ง€์ •ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ์Šค์œ„ํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์›น์„ ๊ฑด๋„ˆ ์—ฌํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ •์˜ํ•˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๋ฐ”๋‹ค ๊ฑด๋„ˆ ๋จผ ๋‚˜๋ผ์˜ ์ปดํ“จํ„ฐ์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ธํ„ฐ๋„ท์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ์š”? ์ธํ„ฐ๋„ท์ด ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ฐ ์ปดํ“จํ„ฐ๋Š” ๋ผ์šฐํ„ฐ๋ผ๋Š” ํŠน์ˆ˜ํ•œ ์†Œํ˜• ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ๋Š” ์ปดํ“จํ„ฐ์—์„œ ๋ณด๋‚ธ ๋ฉ”์„ธ์ง€๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋Œ€์ƒ ์ปดํ“จํ„ฐ์— ์ตœ์ ์˜ ๊ฒฝ๋กœ๋กœ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค‘๊ณ„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋ผ์šฐํ„ฐ๋ฅผ ์•„์ฃผ ๋จผ ๊ณณ์˜ ๋ผ์šฐํ„ฐ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ „ํ™”๊ธฐ ๊ธฐ๋ฐ˜์˜ ์‹œ์„ค์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์ „ํ™”๊ธฐ ๊ธฐ๋ฐ˜์˜ ์‹œ์„ค์€ ์ด๋ฏธ ์„ธ๊ณ„ ์–ด๋Š ๊ณณ์—์„œ๋„ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œโ€ฆ

September 30, 2021
web