๐ป CS
[CS] ์น์ ๋์ ์๋ฆฌ
์น ํ์ด์ง ์ ์ ๊ณผ์ 1. ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ์ URL ์ ๋ ฅํฉ๋๋ค. 2. ๋ธ๋ผ์ฐ์ ๋ *DNS๋ฅผ ํตํด ์๋ฒ์ IP ์ฃผ์๋ฅผ ์ฐพ์ต๋๋ค. *DNS(Domain Name System) : ๋ง์น ์ ํ๋ฒํธ๋ถ์ฒ๋ผ ์ฌ๋์ด ์ฝ์ ์ ์๋ ์น ์ด๋ฆ์ IP ์ฃผ์๋ก ๋งค์น์์ผ์ฃผ๋ ์์คํ 3. Client์์ HTTP request ๋ฉ์์ง → TCP/IP ํจํท ์์ฑ → Server๋ก ์ ์ก 4. Server์์ HTTP request์ ๋ํ HTTP response ๋ฉ์์ง → TCP/IP ํจํท ์์ฑ → Client๋ก ์ ์ก 5. ๋์ฐฉํ HTTP response๋ ์น ๋ธ๋ผ์ฐ์ ์ ์ํด ์ถ๋ ฅ(๋ ๋๋ง)๋ฉ๋๋ค. ์กฐ๊ธ ๋ ์์ธํ 1-2. ์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ์ URL์ ์ ๋ ฅํ๋ฉด HTTP request message๋ฅผ ์์ฑํฉ๋๋ค. 3-4. IP์ฃผ์๋ฅผ ์..
[CS] HTTP - status code(์ํ ์ฝ๋)
Status code(์ํ ์ฝ๋) ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ HTTP ์์ฒญ์ ๋ํ ์๋ฒ์ ์๋ต ์ฝ๋๋ก, ์ํ ์ฝ๋๋ฅผ ํตํด ์์ฒญ์ ์ฑ๊ณต/์คํจ ์ฌ๋ถ๋ฅผ ํ๋จํ ์ ์์ต๋๋ค. 100๋ฒ๋๋ถํฐ 500๋ฒ๋๊น์ง ์ด 5๊ฐ์ ํด๋์ค๋ก ๊ตฌ๋ถ๋์ด HTTP ์์ฒญ์ ๋ํ ์ํ๋ฅผ ์๋ ค์ค๋๋ค. ํด๋ผ์ด์ธํธ์ ์์ฒญ(request)์ ๋ํ ์๋ฒ์ ์๋ต(response)์ ๊ฐ๋ตํ ์ค๋ช ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ํฉ์ ๋ง๋ ์ํ ์ฝ๋๋ฅผ response์ ๋ด์์ ํด๋ผ์ด์ธํธ์ ๋๊ฒจ์ฃผ์ด์ผ ์๋ง์ ๋์์ ํ ์ ์์ต๋๋ค. 100๋ฒ๋ → ์ ๋ณด : ์์ฒญ์ ๋ฐ์์ผ๋ฉฐ ์์ ์ ๊ณ์ํ๊ฒ ๋ค. 200๋ฒ๋ → ์ฑ๊ณต : ์์ฒญํ ๋์์ ์ฑ๊ณต์ ์ผ๋ก ์์ ํ์ฌ ์ดํดํ๊ณ ์ฒ๋ฆฌํ์๋ค. 300๋ฒ๋ → ๋ฆฌ๋ค์ด๋ ์ : ์์ฒญ์ ์๋ฃํ๊ธฐ ์ํด ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค. 400๋ฒ๋ → ํด๋ผ์ด์ธํธ ์ค๋ฅ..
[CS] HTTP request method : GET, POST / PUT, PATCH
GET ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ ๋ณด๋ฅผ ์์ฒญํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋(๋ฆฌ์์ค ์กฐํ) ํ์ํ ์ ๋ณด๋ฅผ ํน์ ํ๊ธฐ ์ํด URL ๋ค์ Query String์ ์ถ๊ฐํ์ฌ ์ ๋ณด๋ฅผ ์กฐํ ํ ๋ฒ ์๋ฒ์ GET ์์ฒญ์ ํ ์ ์ด ์๋ค๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด๋๋ค.(์ดํ ๋์ผํ ์์ฒญ์ ์ ์ฅ๋ ๊ฐ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.)URL ๋ค์ Query String๊น์ง ํฌํจํด์ ๋ธ๋ผ์ฐ์ ํ์คํ ๋ฆฌ์ ๋จ๊ฒ ๋๊ธฐ ๋๋ฌธ์ ์บ์๊ฐ ๊ฐ๋ฅ POST ์๋ฒ์๊ฒ ์ ๋ณด(๋ฐ์ดํฐ) ์ฒ๋ฆฌ(์ฃผ๋ก ์์ฑ)๋ฅผ ์์ฒญํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋ ๊ผญ ์์ฑ๋ฟ๋ง ์๋๋ผ, ๋ณ๊ฒฝ ๋๋ ํน์ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๊ธฐ๋ ํฉ๋๋ค. ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ Body ๋ถ๋ถ์ ํฌํจํ์ฌ ํต์ ๋ธ๋ผ์ฐ์ ํ์คํ ๋ฆฌ์ ๋จ์ง ์๊ณ ์บ์๋ ๋ถ๊ฐ๋ฅ PUT ์๋ฒ์ ๋ฆฌ์์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฉ์๋ ๋ฆฌ์์ค๋ฅผ ๋์ฒด, ํด๋น ๋ฆฌ์์ค๊ฐ ์์ผ..
[CS] HTTP๋?
HTTP(HyperText Transfer Protocol) ์น ์์์ ์ ๋ณด๋ฅผ ์ ์กํ๊ธฐ ์ํ ํต์ ํ๋กํ ์ฝ๋ก์ HTML๊ณผ ๊ฐ์ ๋ฌธ์๋ฅผ ์ ์ก ํด๋ผ์ด์ธํธ → ์๋ฒ : HTTP request๋ฅผ ๋ณด๋ request message๋ start line(method, path, HTTP version), headers, body๋ก ๊ตฌ์ฑ ์๋ฒ → ํด๋ผ์ด์ธํธ : HTTP response๋ฅผ ๋ณด๋ response message๋ status line(HTTP version, status code, status message), headers, body๋ก ๊ตฌ์ฑ TPC/IP ๊ธฐ๋ฐ์ผ๋ก ์๋, ํฐ ํน์ง์ผ๋ก๋ Connectionless์ Stateless๊ฐ ์๋ค. Connectionless : ์๋ฒ์ ์ฐ๊ฒฐ ํ ์์ฒญ์ ๋ํ ์๋ต์ ๋ฐ..
[CS] TCP ํต์ : 3-way handshake, 4-way handshake
TCP ํต์ Connection setup (tcp ์ฐ๊ฒฐ ์ด๊ธฐํ) : 3-way handshaking Data transfer (๋ฐ์ดํฐ ์ ์ก) Connection termination (tcp ์ฐ๊ฒฐ ์ข ๋ฃ) : 4-way handshaking 3-way handshake(์ฐ๊ฒฐ ์์) TCP/IP ํ๋กํ ์ฝ๋ก ํต์ ํ๊ธฐ ์ , ์ ํํ ์ ๋ณด ์ ์ก์ ์ํด ์๋๋ฐฉ ์ปดํจํฐ์ ์ธ์ ์ ์๋ฆฝํ๋(์ฐ๊ฒฐํ๋) ๊ณผ์ (TCP ์ฐ๊ฒฐ ์ด๊ธฐํ) ์ด๋ฆ์กฐ์ฐจ ์ ์๋ผ๋ ๋ป, ์ฆ ์๋ก๋ฅผ ํ์ธํ๊ธฐ ์ํ ์ ์ฐจ(connection์ ์ํ ์ ์ฐจ)๋ผ๊ณ ์๊ฐํ๋ฉด ํธํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ SYNํจํท(์ฐ๊ฒฐ ์์ฒญ)์ ๋ณด๋ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ACKํจํท(์ฐ๊ฒฐ ์ธ์ง) + SYNํจํท(์ฐ๊ฒฐ ์์ฒญ)์ ๋ณด๋ → ์๋ฒ๋ ํด๋ผ์ด์ธํธํํ ์ฐ๊ฒฐ ์์ฒญ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ..