Computer Science/๐ก Network
[๋คํธ์ํฌ] HTTP ์ฃผ์ ๋ฉ์๋ - GET, POST, PUT, PATCH, DELETE
HTTP ๋ฉ์๋ HTTP ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์ด๋ฃจ์ด์ง๋ ์์ฒญ(Request)๊ณผ ์๋ต(Response) ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐฉ์์ด๋ค. HTTP ๋ฉ์๋์ ์ข ๋ฅ๋ ์ด 9๊ฐ์ง์ธ๋ฐ, ์ด์ค ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ฉ์๋ 5๊ฐ์ง์ ๊ธฐํ ๋ฉ์๋ 4๊ฐ์ง๋ก ๊ตฌ๋ถ๋๋ค. ์ฃผ์ ๋ฉ์๋ GET: ๋ฆฌ์์ค ์กฐํ POST: ์์ฒญ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ฃผ๋ก ๋ฑ๋ก์ ์ฌ์ฉ PUT: ๋ฆฌ์์ค๋ฅผ ๋์ฒดํ๋ฉฐ ํด๋น ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ์์ฑ PATCH: ๋ฆฌ์์ค ๋ถ๋ถ ๋ณ๊ฒฝ DELETE: ๋ฆฌ์์ค ์ญ์ ๊ธฐํ ๋ฉ์๋ HEAD: GET๊ณผ ๋์ผํ์ง๋ง ๋ฉ์์ง(body) ๋ถ๋ถ์ ์ ์ธํ๊ณ ์ํ ์ค๊ณผ ํค๋๋ง ๋ฐํ OPTIONS: ๋์ ๋ฆฌ์์ค์ ๋ํ ํต์ ๊ฐ๋ฅ ์ต์ ์ ์ค๋ช (์ฃผ๋ก CORS์์ ์ฌ์ฉ) CONNECT: ๋์ ์์์ผ๋ก ์๋ณ๋๋ ์๋ฒ์ ๋ํ ํฐ๋์ ์ค์ TRACE: ๋..
[๋คํธ์ํฌ] DNS(๋๋ฉ์ธ ๋ค์ ์์คํ ) ๊ตฌ์ฑ์์, ๋์๋ฐฉ์
DNS(Domain Name System) ๋๋ฉ์ธ ์ด๋ฆ์ ์ค์ IP ์ฃผ์๋ก ๋ณํํ์ฌ ์ฐ๊ฒฐํด์ฃผ๋ ์์คํ ์ฌ์ฉ์๋ก ํ์ฌ๊ธ ๋๋ฉ์ธ ์ด๋ฆ์ ํตํด ์ค์ ๋คํธ์ํฌ ์์์ ์ฌ์ฉํ๋ IP๋ก ์ ์ํ ์ ์๋๋ก ํจ DNS๋ ์์ ๊ธฐ๊ด๊ณผ ํ์ ๊ธฐ๊ด๊ณผ ๊ฐ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ ์์ ๊ธฐ๊ด์์ ์ธ์ฆ๋ ๊ธฐ๊ด์๊ฒ ๋๋ฉ์ธ ์์ฑ ๋ฐ IP ์ฃผ์๋ก ๋ณ๊ฒฝํ ์ ์๋ ๊ถํ ๋ถ์ฌ 3๊ฐ์ง ๊ตฌ์ฑ ์์ ๋๋ฉ์ธ ๋ค์ ์คํ์ด์ค(Domain Name Space) DNS๊ฐ ์ ์ฅ/๊ด๋ฆฌํ๋ ๊ณ์ธต์ ๊ตฌ์กฐ ์ต์์์ ๋ฃจํธ DNS ์๋ฒ๊ฐ ์กด์ฌํ๊ณ ๊ทธ ํ์๋ก ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋ ธ๋๊ฐ ์ฐ์ํด์ ์ด์ด์ง ๊ณ์ธต ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ง ๋ค์ ์๋ฒ(Name Server, =DNS์๋ฒ): ๊ถํ ์๋ DNS ์๋ฒ ๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋๋ฉ์ธ ์ด๋ฆ์ ์ค์ ๋คํธ์ํฌ ํต์ ์ ์ฌ์ฉ๋..
[๋คํธ์ํฌ] SOP(Same Origin Policy)์ CORS(Cross-Origin Resource Sharing), CORS ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ
SOP(Same Origin Policy) ๊ฐ์ ์ถ์ฒ์ HTTP ์์ฒญ๋ง์ ํ๋ฝํ๋ ์ ์ฑ ์์์ ์์ฒญํ ์ถ์ฒ์ ํด๋น ์์ฒญ์ ์๋ตํ๋ ์๋ฒ์ ์ถ์ฒ๊ฐ ๋ค๋ฅผ ๊ฒฝ์ฐ ํด๋น ์์์ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ์ ํ -> CORS ์ ์ฑ ์ ์ง์ผฐ์ ์์๋ง ์์ธ์ ์ผ๋ก ํ์ฉ SOP ์ ์ฑ ์ด ์์ ์ ๋ ธ์ถ๋ ์์ค์ฝ๋๋ฅผ ํตํด CSRF(Cross-Site Request Forgery)๋ XSS(Cross-Site Scripting)์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณต๊ฒฉ์์ ์ฌ์ฉ์ ์ ๋ณด ํ์ทจ ์ํ์ด ์์ โป ์ถ์ฒ(Origin)๋? ์์ ๊ฐ์ URL ๊ตฌ์กฐ์์ Protocol + Host + Port์ ํด๋นํ๋ ๋ถ๋ถ์ ๋ปํ๋ค. ๋ธ๋ผ์ฐ์ ๋ Protocol, Host, Port๊ฐ ๋ชจ๋ ๊ฐ๋ค๋ฉด ๊ฐ์ ์ถ์ฒ, ์ ์ค ํ๋๋ผ๋ ๋ค๋ฅด๋ค๋ฉด ๋ค๋ฅธ ์ถ์ฒ๋ผ๊ณ ํ๋จํ๋ค. CORS(Cr..
[๋คํธ์ํฌ] ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ(+JWT), ์๋ฒ(์ธ์ )๊ธฐ๋ฐ ์ธ์ฆ
ํ ํฐ(Token) ๊ธฐ๋ฐ ์ธ์ฆ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ ์ ์๋ฒ์์ ํด๋น ํด๋ผ์ด์ธํธ์๊ฒ ์ธ์ฆ์ ์๋ฏธ๋ก 'ํ ํฐ'์ ๋ถ์ฌ -> ์ธ์ฆ(Authentication) ํด๋ผ์ด์ธํธ๋ ๋ ๋ค์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋ ๋ฐ๊ธ๋ฐ์ ํ ํฐ์ ์์ฒญ ํค๋์ ์ฌ์ด ์ ์ก ์๋ฒ๋ ํค๋ ๋ด ํ ํฐ์ ์ด์ด ์์ ์ด ์ ๊ณตํ ํ ํฐ์ด ๋ง๋์ง ํ์ธํ์ฌ ์ธ์ฆ ๊ณผ์ ์ฒ๋ฆฌ -> ์ธ๊ฐ(Authorization) ๐ก์ฉ์ด ์ ๋ฆฌ - ์ธ์ฆ(Authentication): ์์ ์ด ๋๊ตฌ์ธ์ง ์ฆ๋ช ํ๊ณ ๊ฒ์ฆํ๋ ๊ณผ์ (๋ก๊ทธ์ธ) - ์ธ๊ฐ(Authorization): ์ธ์ฆ ์์ ์ดํ์ ์ธ์ฆ๋ ์ฌ์ฉ์์ ๋ํ ์์ ์ ๊ทผ ํ์ธ ๋ฐ ํ๊ฐ ์ ์ฐจ (๊ถํ ํ์ธ) ์ฅ์ ํ ํฐ ์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ ์ธก์์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ stateless(๋ฌด์ํ)ํ๋ฉฐ, ์๋ฒ ํ์ฅ์ ์ฉ์ด (์๋ฒ ๋ถ๋ด X) ํ ํฐ์ ํ..
[๋คํธ์ํฌ] SSL/TLS ํธ๋์์ดํฌ - TLS 1.3
SSL๊ณผ TLS TLS(Transport Layer Security)๋ SSL(Secure Socket Layer)์ ์์ ๋ฒ์ ํํ์ด๋ผ๊ณ ํ ์ ์๋ค. SSL์ SSL 1.0๋ถํฐ ์์ํด SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.3๊น์ง ๋ฒ์ ์ ๋ฐ์ดํธ๊ฐ ๋๋ฉด์ SSL์ ๋ช ์นญ์ด TLS๋ก ๋ณ๊ฒฝ๋ ๊ฒ์ด๋ค. ์ด ํฌ์คํธ์์๋ TLS 3.0์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช ํ๋ฉฐ ๋ช ์นญ์ TLS๋ก ํต์ผํ๋ค. TLS๋ ์ ์ก๊ณ์ธต์์ ๋ณด์์ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ด๋ค. HTTPS ํต์ ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ํ ๋ TLS๋ฅผ ํตํด ์ 3์๊ฐ ๋ฉ์์ง๋ฅผ ๋์ฒญํ๊ฑฐ๋ ์์กฐ, ๋ณ์กฐํ์ง ๋ชปํ๋๋ก ํ๋ค. TLS๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ ๋ฐ ์ญํ ์ ๊ฐ์ง๋ค. ์ํธํ: ์ 3์์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์จ๊น ์ธ์ฆ: ํต์ ์ ๋์์ด ์ ๋ขฐํ ์ ์๋..
[๋คํธ์ํฌ] HTTP/1.X, HTTP2, HTTP3 ๋ฒ์ ์ฐจ์ด, ํน์ง
โป HTTP ๊ฐ์: https://zu-techlog.tistory.com/60 [๋คํธ์ํฌ] HTTP์ HTTPS ํ๋กํ ์ฝ HTTP (Hyper Text Transfer Protocol) ์น ์์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ฒญ(request)๊ณผ ์๋ต(response)์ผ๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ TCP์ UDP ์ฌ์ฉ, 80๋ฒ ํฌํธ ์ฌ์ฉ ๋น์ฐ๊ฒฐ(Connectionless) ํด๋ผ์ด์ธํธ๊ฐ zu-techlog.tistory.com HTTP ๋ฒ์ - HTTP/1.X, HTTP2, HTTP3 HTTP/1.0 ํ ์ฐ๊ฒฐ๋น ํ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ ์๋ฒ์๊ฒ ์์ฒญ ์ ๋งค๋ฒ ์ฐ๊ฒฐ๊ณผ ํด์ ์ ๊ณผ์ ์ ๋ฐ๋ณตํด์ผ ํ๊ธฐ์ RTT๊ฐ ์ค๋๊ฑธ๋ฆฐ๋ค๋ ๋ฌธ์ RTT: ํจํท์ด ๋ชฉ์ ์ง์ ๋๋ฌํ๊ณ ๋์ ๋ค์ ์ถ๋ฐ์ง๋ก ๋์์ค๊ธฐ๊น์ง ๊ฑธ๋ฆฌ..
[๋คํธ์ํฌ] TCP/IP ํ๋ฆ์ ์ด์ ํผ์ก์ ์ด
ํ๋ฆ์ ์ด ์ก์ ์ธก๊ณผ ์์ ์ธก์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ ์ก์ ์ธก์ ์ ์ก๋์ด ์์ ์ธก์ ์ฒ๋ฆฌ๋๋ณด๋ค ํด ๊ฒฝ์ฐ ์์ ์ธก์ ํ๊ฐ ์ฉ๋์ ๋์ด ์ ์ก๋ ํจํท์ ์์ค์ด ์ผ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ก์ ์ธก์ ํจํท ์ ์ก๋์ ์ ์ดํจ ์์ ์ธก์ด ์ก์ ์ธก์๊ฒ ํ์ฌ ์์ ์ ์ํ๋ฅผ ํผ๋๋ฐฑํ๋ ํํ 1. Stop and Wait ๋งค๋ฒ ์ ์กํ ํจํท์ ๋ํด ํ์ธ ์๋ต(ACK)์ ๋ฐ์์ผ๋ง ๊ทธ ๋ค์ ํจํท์ ์ ์ก ๊ตฌ์กฐ ์ ๋นํจ์จ์ 2. Sliding Window ์์ ์ธก์์ ์ค์ ํ ์๋์ฐ ํฌ๊ธฐ๋งํผ ์ก์ ์ธก์์ ํ์ธ ์๋ต ์์ด ํจํท์ ์ ์กํ ์ ์๊ฒํ์ฌ ๋ฐ์ดํฐ ํ๋ฆ์ ๋์ ์ผ๋ก ์กฐ์ ์ก์ ์ธก์ ๋จผ์ ์๋์ฐ์ ํฌํจ๋๋ ๋ชจ๋ ํจํท์ ์ ์กํ๊ณ , ์์ ์ธก์ผ๋ก๋ถํฐ ํ์ธ ์๋ต(ACK)๊ฐ ์ค๋ฉด ์๋์ฐ๋ฅผ ์์ผ๋ก ์ฎ๊ฒจ๊ฐ๋ฉฐ ๋ค์ ํจํท๋ค์ ์ ์ก ๋์ ๋ฐฉ์ ์ก์ ์ธก์์ ..
[๋คํธ์ํฌ] HTTP ์ํ/์๋ต ์ฝ๋ ์ ๋ฆฌ
HTTP Status Code HTTP ์ํ ์ฝ๋๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์์ฒญ(request)์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋์ง ๊ทธ ์ํ๋ฅผ ์๋ต(response)์ ํตํด ์๋ ค์ฃผ๊ธฐ ์ํด ํ์ฉ๋๋ค. ์ด๋ฌํ ์๋ต์ 5๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด์ง๋ฉฐ, ์ํ ์ฝ๋๋ฅผ ํ์ํ๋ 3์๋ฆฌ ์ ์ค ๊ฐ์ฅ ์์๋ฆฌ ์๊ฐ ๋ฐ๋ก ์๋ต์ ์ข ๋ฅ๋ฅผ ์๋ฏธํ๋ค. ์ํ ๊ทธ๋ฃน ์ญํ 1XX Informational Response ์กฐ๊ฑด๋ถ ์๋ต ํ์ฌ ์์ฒญ๊น์ง ์ฒ๋ฆฌํ๋ค๋ ์ ์ก ํ๋กํ ์ฝ ์์ค์ ์์์ ์๋ต 2XX Success ์ฑ๊ณต ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ 3XX Redirection ๊ฒฝ๋ก ์ฌ์ง์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ๊ธฐ ์ํด ํด๋ผ์ด์ธํธ์ ์ถ๊ฐ์ ์ธ ์กฐ์ทจ ํ์ 4XX Client Error ํด๋ผ์ด์ธํธ ์ค๋ฅ ์์ฒญ ๋ด์ฉ์ด ์๋ชป๋๋ ๋ฑ ํด๋ผ์ด์ธํธ๋ก ์ธํ ์ค๋ฅ ๋ฐ์ 5X..