์ƒˆ์†Œ์‹

IT & Security/Web

Web ๊ธฐ์ดˆ ๊ณต๋ถ€ - HTTP

  • -
๋ฐ˜์‘ํ˜•

์ด๊ฑด ๊ทธ๋ƒฅ Web๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ

์ œ๊ฐ€ ๊ถ๊ธˆํ–ˆ๋˜ ๊ฒƒ ๋˜๋Š” ๊ธฐ์ดˆ์ ์ธ ๊ฒƒ์„ ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•˜๊ณ 

๋‚˜์ค‘์— ํ˜น์‹œ ๊นŒ๋จน์œผ๋ฉด ๋ณด๋ ค๊ตฌ ์˜ฌ๋ฆฐ๊ฑฐ์˜ˆ์š” ใ…Žใ…Ž

 


 

  • HTTP 1.0๊ณผ 1.1์˜ ์ฐจ์ด

๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” HTTP 1.0 ์—์„œ๋Š” ์—†๋˜ Keep -alive๊ฐ€ HTTP 1.1 ์—์„œ๋Š” ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋จผ์ € HTTP(HyperText Transfer Protocol)๋ž€ World Wide Web (WWW)์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋งํ•˜๋ฉฐ,

์ฃผ๋กœ HTML๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ์— ์“ฐ์ด๊ณ  TCP์™€ UDP ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ , 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

1996๋…„ ๋ฒ„์ „ 1.0 / 1999๋…„ ๋ฒ„์ „ 1.1 ์ด ๊ฐ๊ฐ ๋ฐœํ‘œ๋˜์—ˆ์œผ๋ฉฐ, ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋ฒ„์ „์€ 1.1 ์ด๋‹ค. (์ถœ์ฒ˜ : ์œ„ํ‚ค๋ฐฑ๊ณผ)

 

HTTP ํ”„๋กœํ† ์ฝœ์˜ ํŠน์ง•์€ ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” Connection less ๋ผ๋Š” ์ ์ธ๋ฐ

์›น์€ ๋ถˆํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์‚ฌ์šฉ์ž์™€ ๊ณ„์† ์—ฐ๊ฒฐ์„ ํ•˜๊ณ  ์žˆ์„ ์ด์œ ๊ฐ€ ์—†๋‹ค.

๊ทธ๋ฆฌํ•˜์—ฌ ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ํŠน์ • ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ฒฐ์„ ํ•˜๊ธฐ์œ„ํ•ด Connection (๋ฐ์ดํ„ฐ ์ „์†กํ›„) ๋ฐ”๋กœ ๋Š๋„๋ก ์„ค๊ณ„๋˜์–ด์žˆ๋‹ค.

 

HTTP 1.0์— ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์„ ํ• ๋•Œ๋งˆ๋‹ค 3way-handshaking ์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” ๋งค์šฐ ์‹œ๊ฐ„์ ์œผ๋กœ ๋น„ํšจ์œจ์ ์ด๋ฉฐ

๊ทธ ์ ์„ ๋ณด์•ˆํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๊ฒƒ์ด HTTP 1.1์ด๋‹ค

HTTP 1.1์€ ํ•œ๋ฒˆ ์—ฐ๊ฒฐ ํ•  ๋•Œ ๋™์‹œ์— ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ „๋ถ€ 3way-handshaking ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ

ํ•œ๋ฒˆ๋งŒ ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ์™€ ๋™์‹œ์— ์—ฐ๊ฒฐ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์ „์†ก ํ›„ ๋ฐ”๋กœ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์—ฐ๊ฒฐ์„ ์œ ์ง€ ํ•œ๋‹ค.

 

HTTP ํ”„๋กœํ† ์ฝœ์˜ Keep-alive๋Š” HTTP ํ—ค๋”์˜ ์ผ์ข…์ด๋‹ค.

 

  • keep-alive ๋ž€?

ํ‚ต์–ผ๋ผ์ด๋ธŒ๋Š” ๋””๋ฐ”์ด์Šค๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋งํฌ๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ด ๋ฐ์ดํ„ฐ ๋งํฌ๊ฐ€ ๋Š์–ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋””๋ฐ”์ด์Šค ๊ฐ„์— ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋งํ•œ๋‹ค.


 

  • HTTP ์ƒํƒœ์ฝ”๋“œ (์ถœ์ฒ˜ : ๊ตฌ๊ธ€ ์œ„ํ‚ค๋ฐฑ๊ณผ)

๋ชจ๋“  HTTP ์‘๋‹ต ์ฝ”๋“œ๋Š” 5๊ฐœ์˜ ํด๋ž˜์Šค(๋ถ„๋ฅ˜)๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์ƒํƒœ ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์‘๋‹ต์˜ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ๋‘ ์ž๋ฆฌ๋Š” ํด๋ž˜์Šค๋‚˜ ๋ถ„๋ฅ˜ ์—ญํ• ์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฒซ์ž๋ฆฌ์— ๋Œ€ํ•œ 5๊ฐ€์ง€ ๊ฐ’๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  • 1xx (์ •๋ณด): ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•œ๋‹ค
  • 2xx (์„ฑ๊ณต): ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ›์•˜์œผ๋ฉฐ ์ธ์‹ํ–ˆ๊ณ  ์ˆ˜์šฉํ•˜์˜€๋‹ค
  • 3xx (๋ฆฌ๋‹ค์ด๋ ‰์…˜): ์š”์ฒญ ์™„๋ฃŒ๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—… ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค
  • 4xx (ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜): ์š”์ฒญ์˜ ๋ฌธ๋ฒ•์ด ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค
  • 5xx (์„œ๋ฒ„ ์˜ค๋ฅ˜): ์„œ๋ฒ„๊ฐ€ ๋ช…๋ฐฑํžˆ ์œ ํšจํ•œ ์š”์ฒญ์— ๋Œ€ํ•ด ์ถฉ์กฑ์„ ์‹คํŒจํ–ˆ๋‹ค

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— request๋ฅผ ๋ณด๋‚ผ ๋•Œ ๊ทธ ๊ฒฐ๊ณผ์˜ ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ์ƒํƒœ ์ฝ”๋“œ์˜ ์—ญํ• ์ด๋‹ค.
์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ request๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ ํ–ˆ๋Š”์ง€, ์—๋Ÿฌ์˜€๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ƒํƒœ ์ฝ”๋“œ๋Š” 3์ž๋ฆฌ ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ, ๊ฐ€์žฅ ์•ž์ž๋ฆฌ ์ˆ˜๋Š” response์˜ ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 

์ถœ์ฒ˜ : https://velog.io/@conatuseus/HTTP-%EC%83%81%ED%83%9C-%EC%BD%94%EB%93%9C-ikjzqqpp55

 

โ€ป 100-500 ๋Œ€์—ญ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ƒํƒœ์ฝ”๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ์ค‘์—์„œ ๊ผญ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€๊ฑด

++ 302 : Found์ด ์‘๋‹ต ์ฝ”๋“œ๋Š” ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค์˜ URI๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

์ƒˆ๋กญ๊ฒŒ ๋ณ€๊ฒฝ๋œ URI๋Š” ๋‚˜์ค‘์— ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํด๋ผ์ด์–ธํŠธ๋Š” ํ–ฅํ›„์˜ ์š”์ฒญ๋„ ๋ฐ˜๋“œ์‹œ ๋™์ผํ•œ URI๋กœ ํ•ด์•ผํ•œ๋‹ค.

์ถœ์ฒ˜ : https://pks424.tistory.com/entry/Http-%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C-%EC%BD%94%EB%93%9C

 

++ ๋งˆ์ง€๋ง‰์œผ๋ก  ์ œ๊ฐ€ ๊ทธ๋ƒฅ ์ถ”๊ฐ€์ ์œผ๋กœ Web๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ด๊ฒƒ์ €๊ฒƒ ์•Œ์•„๋ณธ ๊ฒƒ๋“ค ํ˜ผ์ž ์•Œ์•„๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ์ •๋ฆฌํ•œ๊ฒ๋‹ˆ๋‹น..

 

๋‹ค๋“ค ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ฉ์‹œ๋‹น!^^

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.