์น ์ฑ๋ฅ ๊ฐ์ ์ ์ํ HTTP Cache์น ํ์ด์ง ๋ก๋ฉ ์๊ฐ์ ๋จ์ถํ๋ ๊ฒ์ ์น ์ฑ๋ฅ ์ต์ ํ์ ํต์ฌ์ด๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ญํ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก HTTP Cache.์น์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๊ฒ์ด๋ค. ์ด ๋ ์น ๋ธ๋ผ์ฐ์ ๋ ๋งค๋ฒ ์น ์๋ฒ์๊ฒ ์์ฒญํด์ ์๋ต์ ๋ฐ์์ผํ๊ณ ์น ์๋ฒ๋ ๋งค๋ฒ ์น ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ๋ํ ์๋ต์ ๋ง๋ค๊ณ ๋ฐํํด์ผํ๋ค. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด ์๋ฒ์ ๋ถํ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. ์ด๋ ๊ธฐ์ HTTP Cache๋ฅผ ํ์ฉํ๋ฉด ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ถํ๋ฅผ ๋ชจ๋ ์ค์ด๊ณ ์น ํ์ด์ง ์๋๋ฅผ ๊ฐ์ ํ ์์๋ค. ์ค๋์ HTTP Cache์ ๋ํด ํฌ์คํ
ํ๊ณ ์ ํ๋ค.์น ๋ธ๋ผ์ฐ์ ๋ ๋งค๋ฒ ์น ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ฒ๋ ๊ทธ ์์ฒญ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์ฌ ๋ฐํํ๋ค. ์ด ๊ณผ์ ์ ์๊ฐ๊ณผ ๋ฆฌ์์ค๊ฐ ๋ง์ด ์..
๐ปDEV-STUDY/HTTP
๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋๊ทํฌ ํธ๋ํฝ ์ฒ๋ฆฌ์ ํต์ฌ ๊ธฐ์ ์ด๋ค. ์๋ฒ์ ๊ฐํด์ง๋ ๋ถํ๋ฅผ ๋ถ์ฐ์์ผ ์๋น์ค์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ์ ์งํ๋ ์ญํ ์ ํ๋ค. ๋ก๋๋ฐธ๋ฐ์ฑ์ด๋? ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ค์ด์ค๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ฌ๋ฌ ์๋ฒ์ ๋ถ์ฐํ์ฌ ๋จ์ผ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ์ง ์๋๋ก ํ๋ ๊ธฐ์ ์ด๋ค. ๋ก๋๋ฐธ๋ฐ์ค๊ฐ ๋ฑ์ฅํ ์ด์ ํธ๋ํฝ ์ด์: ์๋ฒ์๋ฅผ ๋๋ฆฐ๋ค.(์ํ์ ํ์ฅ)์์ ์ ์ธ ๋ฐฐํฌ๋ฅผ ์ํ ํ์์ฑ:์๋ก์ด ์๋ฒ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ: ์๋ก์ด ์๋ฒ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ๋ฉด IP๊ฐ ๋ณ๊ฒฝ๋ ์ ์๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ IP๋ฅผ ๋ถ์ฌํ๋ฉด, ํด๋ผ์ด์ธํธ๋ IP ๋ณ๊ฒฝ์ ์ธ์งํ์ง ์๊ณ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๋ค.๊ธฐ์กด ์๋ฒ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ: ๊ธฐ์กด ์๋ฒ์ ์ ๋ฒ์ ์ ๋ฐฐํฌํ๋ฉด์ ์๋ฒ๋ฅผ ์ฌ์์ํด์ผ ํ๋ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋, ๋ก๋ ๋ฐธ๋ฐ์๋ ..
API ์ค๊ณ: ํด๋ผ์ด์ธํธ๊ฐ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ฐํํ๊ธฐAPI๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ํตํ๋ ์ธํฐํ์ด์ค๋ก, ํด๋ผ์ด์ธํธ๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฐํํ ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค.์ด๋ป๊ฒ ๋ฐํํ ๊ฒ์ธ๊ฐ: API ์ค๊ณ ๋ฐฉ๋ฒ๋ก REST, GraphQL ๋ฑ ๋ค์ํ API ์ค๊ณ ๋ฐฉ์์ด ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ๋ฐฉ์์ด ๋ฐ์ดํฐ ์์ฒญ๊ณผ ๋ฐํ์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ค.์ ๋ฐํํ๊ธฐ: ์๋์ ๊ฐ์ฉ์ฑ ์ต์ ํ์๋: ๋น ๋ฅธ ์๋ต์ ์ํด ์บ์ ๋์
, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ, ์ฟผ๋ฆฌ ์ฑ๋ฅ ๊ฐ์ ๋ฑ์ ๊ณ ๋ คํ๋ค.๊ฐ์ฉ์ฑ: MSA(๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ)์ ELB(๋ก๋๋ฐธ๋ฐ์ฑ) ๋ฑ์ ๊ธฐ์ ์ ํตํด ์์คํ
์ ์์ ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋ณด์ฅํ๋ค.๋ฐ์ดํฐ ๊ด๋ฆฌ: ๋ฐฑ์๋์ ํต์ฌ ์ญํ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฃผ์ ๋ชฉํ ์ค ํ๋๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ด๋ค...
์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ ์น ๊ฐ๋ฐ์ ์งํ ์น ๊ฐ๋ฐ์ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ ๋๊ตฌ๋ค์ด ๋ฑ์ฅํด ๊ฐ๋ฐ์๋ค์ด ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๊ณ ์๋ค. ์ด๋ฒ ๊ธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ ๋์ ์๋ฆฌ๋ถํฐ CSS ๊ฐ๋ฐ, ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ๋ ๋๋ง ๋ฐฉ์์ ์ด๋ฅด๊ธฐ๊น์ง ํ๋ ์น ๊ฐ๋ฐ์ ์ฃผ์ ๊ฐ๋
๋ค์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ ๋์ ์๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์ ํต์ฌ ์์๋ก, ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์๋ค.๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํน์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ๋จ์ผ ํ์ผ๋ก ์ ๊ณต๋๋ ์ฝ๋ ์งํฉ์ด๋ค. ์๋ฅผ ๋ค์ด, jQuery๋ DOM ์กฐ์์ ํนํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.ํ๋ ์์ํฌ๋ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ ์ข
ํฉ์ ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํ๋ฉฐ, ๋ค์ํ ๋ชฉ์ ์ ์ํด ์ฌ์ฉ๋๋ค. ๋ํ์ ์ผ๋ก R..
ํ๋ก ํธ์๋ ์น ๊ฐ๋ฐ : Rendering = ์น ํ์ด์ง์ ํ๋ฉด ๋ณ๊ฒฝ์น ํ์ด์ง ํ๋ฉด ๋ณ๊ฒฝ: Javascript๋ฅผ ํตํ HTML(DOM) ์ง์ ์กฐ์ → Hard to Manage, ๋ฐ๋ณต์ ์ธ Rendering ProcessjQuery ๋ฑ์ฅ: Javascript ํตํ DOM ์กฐ์์ ์ฝ๊ฒ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ณผ๊ฑฐ์๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์๋ก ๋ฌ๋๊ธฐ ๋๋ฌธ์, ๋์ผํ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋์์ด ๋ค๋ฅผ ์ ์์๋ค. ์ด๋ฌํ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด jQuery๊ฐ ๋ฑ์ฅํ๋ค.ํฌ๋ก์ค๋ธ๋ผ์ฐ์ ์ง์: jQuery๋ ๋ค์ํ ์น ๋ธ๋ผ์ฐ์ ์์ ๋์ผํ๊ฒ ์๋ํ๋ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ์ด๋ฅผ ํตํด ๋ธ๋ผ์ฐ์ ๊ฐ ํธํ์ฑ์ ์ฝ๊ฒ ์ ์งํ ์ ์๋ค.์ฃผ์ ๊ธฐ๋ฅ:DOM ์์ ์ ํ: getElementById์ ๊ฐ์..
์น ์๋ฒ์ ์น ์ดํ๋ฆฌ์ผ์ด์
์๋ฒ๋ ์น ์๋น์ค์์ ์ค์ํ ์ญํ ์ ํ๋ค. ์ด๋ฒ ๊ธ์์๋ ์ด ๋์๋ฒ์ ์ฐจ์ด์ ๊ณผ ์ญํ , ๊ทธ๋ฆฌ๊ณ ์ด๊ธฐ ์น ์ดํ๋ฆฌ์ผ์ด์
๋์ ์๋ฆฌ์ ๋ํด ํฌ์คํ
ํด๋ณผ ์์ ์ด๋ค. 1. ์น ์๋ฒ(WS)์น ์๋ฒ(WS)๋ ์ ์ ์น ๋ฆฌ์์ค๋ฅผ ๋ฐํ. ์ ์ ์น ๋ฆฌ์์ค๋, ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ๋ฏธ๋ฆฌ ์ ์ฅ๋ ํ์ผ์ ๊ทธ๋๋ก ๋ฐํํ๋ ๊ฒ์ ์๋ฏธ.์ ์ ์น ๋ฆฌ์์ค ์์:JSON ํ์ผ: API ์๋ต์ผ๋ก ๋ฐํ๋๋ ๋ฐ์ดํฐ ํ์ผ.HTML ํ์ผ: ์น ํ์ด์ง์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋งํฌ์
ํ์ผ.์ ์ ์น ๋ฆฌ์์ค๋ ๋์ผํ ๋ด์ฉ์ ํ์ผ์ ์ฌ๋ฌ ๋ฒ ๋ฐํํ๊ธฐ ๋๋ฌธ์, ๋์ผํ ์ฝํ
์ธ ๋ฅผ ์๋ง์ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ฒ ์ ๊ณตํ ์ ์๋ค. ํ์ง๋ง ์น ํ์ด์ง์ ๋ด์ฉ์ด ๋ง์์ง๋ฉด, ์น ์๋ฒ์ ์ฉ๋์ด ์ปค์ง ์๋ฐ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ, ๋ฐ๋ณต๋๋ ํ
ํ๋ฆฟ๊ณผ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ..
์ธํฐ๋ท์์ ์ ๋ณด๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์ฃผ๋ก ๊ฒ์ ์์ง์ ์ฌ์ฉํ๋ค. ๊ตฌ๊ธ, ๋ค์ด๋ฒ์ ๊ฐ์ ๊ฒ์ ์์ง์ ์ด๋ป๊ฒ ์๋ง์ ์น ํ์ด์ง ์ค์์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ฐพ์์ฃผ๋ ๊ฒ์ผ๊น? ์ด๋ฒ ๊ธ์์๋ ์น ๊ฒ์ ์์ง์ ์๋ ์๋ฆฌ์SEO(Search Engine Optimization), ์ฆ ๊ฒ์์์ง ์ต์ ํ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ๋ค. 1. ๊ฒ์ ์์ง์ ๊ธฐ๋ณธ ๊ฐ๋
๋ฌด์ธ๊ฐ ๋ ๋์ ์ธ๊ณ ๋ชจ๋ ์น ์๋ฒ์ ์น ํ์ด์ง๋ค์ ๋ฏธ๋ฆฌ ๋ค ์ฐพ์๋๊ณ , ๋ถ๋ฅ ๋ฐ ์ ๋ฆฌํ ๋ค์ ๋ด ๊ฒ์์ด์ ๋ฐ๋ผ ๊ทธ์ ์ ํฉํ ์น ํ์ด์ง๋ค๋ง ๊ณจ๋ผ ์ ๋ฌํด์ค๋ค๋ฉด ์ด๋จ๊น? ๋ฌด์ธ๊ฐ = ๊ตฌ๊ธ, ๋ค์ด๋ฒ, ๋ค์๊ณผ ๊ฐ์ ์๋น์ค(๊ฒ์์์ง)๋ค ์ฐพ์๋๊ณ = ์น ํฌ๋กค๋ง: ์ธ๊ณ ๋ชจ๋ ์น ์๋ฒ์ ์น ํ์ด์ง ์ ๋ณด๋ฅผ ์์ง (๋ด)robots.txt: ํฌ๋กค๋ฌ๊ฐ ์ ๊ทผํ์ง ์์์ผ ํ ํ์ด..
์ธํฐ๋ท์ ์ฌ์ฉํ ๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋๋ฉ์ธ ๋ค์์ ์
๋ ฅํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ํด๋น ์๋ฒ์ ์ ์ํ์ฌ ์น ํ์ด์ง๋ฅผ ๋ก๋ํ๋ค.์ด ๊ณผ์ ์์ ์ค์ํ ์ญํ ์ ํ๋ ๊ฒ์ด DNS(Domain Name System)์ด๋ค. DNS๋ ๋๋ฉ์ธ ๋ค์์ IP ์ฃผ์๋ก ๋ณํํด์ฃผ์ด ์ฌ์ฉ์๊ฐ ์์ฝ๊ฒ ์น์ฌ์ดํธ์ ์ ๊ทผํ ์ ์๋๋ก ๋์์ค๋ค. ์ด๋ฒ์ DNS์ ์ฃผ์๊ฐ๋
๊ณผ ๋ณํ๊ณผ์ ๋ฑ์ ์ดํด๋ณผ ์์ ์ด๋ฉฐ ์ถ๊ฐ๋ก ๋๋ฉ์ธ ๊ตฌ๋งค์ ์ฐจ์ ๋ํด ํฌ์คํ
ํด๋ณผ๊นํ๋ค. 1. DNS์ ์ญํ ์ฃผ์์ ์ ์ ๋ช
์นญ์ IP ์ฃผ์: ์) 126.XX.XXIP ์ฃผ์๋ ์ฌ๋์ด ์ฝ๊ณ ๊ธฐ์ตํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ฉ์ธ ๋ค์์ด๋ผ๋ ๋ณ์นญ(Alias)์ ์ฌ์ฉ. ๋ฐ๋ผ์ ์ด๋ค ๋๋ฉ์ธ์ด ์ด๋ค ์น ์๋ฒ IP ์ฃผ์์ธ์ง ์์์ผ ํ๋ค.Map ๋งคํ: Key-Value์ ์ง๊ถ(Pair) ์งํฉ์ผ๋ก, ๋๋ฉ์ธ ๋ค์๊ณผ ์น ..