CS

HTTP๋ž€? HTTP ๋™์ž‘๊ณผ ํŠน์ง•

dani0312 2024. 3. 22. 23:55

๐Ÿ“ŒHTTP ์•Œ์•„๋ณด๊ธฐ

โ—พHTTP๋ž€?

HTTP๋ž€ Hyper Text Transfer Protocol์ด๋‹ค. ์—ฌ๊ธฐ์„œ Protocol์ด๋ž€ ํ‘œ์ค€, ์•ฝ์†์ด๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ์ฆ‰ HTTP๋Š” ์–ด๋– ํ•œ ์•ฝ์†, ๊ทœ์•ฝ์ด๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ ์ปดํ“จํ„ฐ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

 

๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ์–ด๋– ํ•œ ๊ทœ์น™์œผ๋กœ ๋งŒ๋“  ๊ฒƒ์„ http๋ผ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ๊ทœ์น™์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์ด ๊ทœ์น™์— ๋งž์ถฐ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

โ—พHTTP ๋™์ž‘

https://opentutorials.org/module/384/3462

 

- ์š”์ฒญ: client → server

- ์‘๋‹ต: client ← server

 

๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ๊ทธ๋ฆผ์„ ํ•œ ๋ฒˆ์ฏค์€ ๋ณด์•˜์„ ๊ฒƒ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋– ํ•œ ์„œ๋น„์Šค๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ(request)์„ ํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์š”์ฒญ์— ๋งž๋Š” ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต(response)ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋™์ž‘ํ•œ๋‹ค.

 

์›น ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ client-server๊ด€๊ณ„๋Š” ์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๋ฐ ์›น์—์„œ๋Š” ์ด ์š”์ฒญ๊ณผ ์‘๋‹ต์„ HTTP๋ฐฉ์‹์œผ๋กœ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ตํ•˜๊ธฐ๋กœ ํ•œ ๊ฒƒ์ด๋‹ค. HTTPํ†ต์‹ ์—์„œ๋Š” client๋Š” ๋ธŒ๋ผ์šฐ์ €(ํฌ๋กฌ ๋“ฑ)๊ฐ€ ๋˜๊ณ  server๋Š” WAS(tomcat ๋“ฑ)์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

 

โ—พHTTP ํŠน์ง•

โ— ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ๊ตฌ์กฐ์ด๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ณด๋‚ด๋Š” ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

 

โ— HTTP ๋ฉ”์‹œ์ง€๋Š” HTTP์„œ๋ฒ„์™€ HTTPํด๋ผ์ด์–ธํŠธ์— ์˜ํ•ด ํ•ด์„๋œ๋‹ค.

 HTTP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด ํ†ต์‹ ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฏ€๋กœ ๋ฉ”์‹œ์ง€ ๋˜ํ•œ HTTP์„œ๋ฒ„์™€ HTTPํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ›์•„ ํ•ด์„ํ•œ๋‹ค.

 

โ—  HTTP์š”์ฒญ๊ณผ ์‘๋‹ต์—๋Š” ํ—ค๋”๊ฐ€ ํฌํ•จ๋œ๋‹ค.

์ด ํ—ค๋”๋Š” ์š”์ฒญ ๋˜๋Š” ์‘๋‹ต์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ „์†ก๊ณผ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ง€์นจ์„ ์ œ๊ณตํ•œ๋‹ค.

 

โ— HTTP๋Š” ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. 

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›์€ ํ›„์—๋Š” ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ ์š”์ฒญ์€ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

→ ์žฅ์ : ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์„ ์ค„์ด๊ณ  ํšจ์œจ์ ์ธ ์ž์› ๊ด€๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

 

์ฐธ๊ณ ๋กœ, TCP/IP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•œ๋‹ค. ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„์˜ ์ž์›์ด ๊ณ„์† ์†Œ๋ชจ๋œ๋‹ค.

 

โ— TCP/IP๋ฅผ ์ด์šฉํ•˜๋Š” ์‘์šฉ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

HTTP๋Š” TCP/IPํ”„๋กœํ† ์ฝœ๋กœ TCP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  IP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ผ์šฐ์ง•ํ•œ๋‹ค. ๋ฐ”๋กœ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋น„์—ฐ๊ฒฐ์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ์š”์ฒญ์„ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ๋งŒ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๊ณ  ์‘๋‹ต์„ ์ฃผ๊ณ ๋‚˜๋ฉด TCP/IP์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค.

 

โ— HTTP๋Š” ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. 

HTTP์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์‘๋‹ต๊ณผ ์š”์ฒญ์ด ๋…๋ฆฝ์ ์ด๋‹ค.

→ ์žฅ์ : ์„œ๋ฒ„ ํ™•์žฅ์„ฑ์ด ๋†’๋‹ค. ๋ฌด์ƒํƒœ๋Š” ์‘๋‹ต ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด ๋ฌดํ•œํ•œ ์„œ๋ฒ„ ์ฆ์„ค์ด ๊ฐ€๋Šฅํ•˜๋‹ค. (์Šค์ผ€์ผ ์•„์›ƒ)

→ ๋‹จ์ : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด์•ผ ํ•œ๋‹ค. 

 

 

 

 

 

 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” HTTP๋ฉ”์„œ๋“œ, HTTP request์™€ response์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.

 


Reference

 

https://www.cloudflare.com/ko-kr/learning/ddos/glossary/hypertext-transfer-protocol-http/

https://velog.io/@surim014/HTTP%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

https://brilliantdevelop.tistory.com/32

https://velog.io/@wlwl99/HTTP%EC%9D%98-%ED%8A%B9%EC%A7%95