๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Back-end

[WEB] HTTP ์ •๋ฆฌ

๋ฐ˜์‘ํ˜•

HTTP๋ž€?

HTTP = Hyper Text Transfer Protocol

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ HTML์„ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญ์„ ํ•œ๋‹ค = Request

์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ HTML์„ ์ œ๊ณตํ•œ๋‹ค = Response

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ Request์™€ Response๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„œ๋กœ ์•Œ์•„๋“ค์„์ˆ˜ ์žˆ๋Š” ๋ฉ”์„ธ์ง€(๊ณตํ†ต์˜ ์•ฝ์†)๋ฅผ HTTP๋ผ๊ณ  ํ•œ๋‹ค.

์›น์„œ๋ฒ„๋Š” Rquest๋ฅผ ๋ฐ›์•„์„œ ์ ์ ˆํ•œ Response๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” ์—ญํ• ์ด๋‹ค.

์›น๋ธŒ๋ผ์šฐ์ €๋Š” ์›น์„œ๋ฒ„์—๊ฒŒ ๋ฐ›์€ Response๋ฅผ ํ™”๋ฉด์— ์ ์ ˆํ•˜๊ฒŒ ํ‘œํ˜„ํ•ด์ฃผ๋Š” ์—ญํ• ์ด๋‹ค.

Requset


Request Header ๊ตฌ์„ฑ

  • GET = Method = ์›น๋ธŒ๋ผ์šฐ์ €์™€ ์›น์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. GET์€ ์›น์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•˜๊ณ  POST๋Š” ์›น์„œ๋ฒ„๋กœ ์ „์†กํ•  ๋•Œ ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • /doc/test.html = ์›น์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญํ•˜๋Š” ์ •๋ณด๊ฐ€ ์–ด๋–ค๊ฒƒ์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • HTTP/1.1 = ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ˜„์žฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” HTTP ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • Host = ์š”์ฒญํ•˜๋Š” ์›น์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • Accept-Encoding = ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์„๋•Œ ์›น์„œ๋ฒ„๊ฐ€ ์••์ถ•ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ๋•Œ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ์••์ถ• ๋ฐฉ์‹์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • User-Agent = ์š”์ฒญํ•˜๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋–ค ์›น๋ธŒ๋ผ์šฐ์ €์ธ์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค.

Response


Response Header ๊ตฌ์„ฑ

  • HTTP/1.1 = HTTP ๋ฒ„์ „
  • 200 OK = status code์ด๋‹ค. 2xx๋Š” ์„ฑ๊ณต, 3xx๋Š” Rediretion, 4xx๋Š” ํด๋ผ์ด์–ธํŠธ์ชฝ ์˜ค๋ฅ˜, 5xx๋Š” ์„œ๋ฒ„์ชฝ ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • Content-type = ์›น์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•  ๋•Œ ์ด ์‘๋‹ต์€ text์ด๊ณ  html์ž„์„ ์•Œ๋ ค์ฃผ๋ฉด ์›น๋ธŒ๋ผ์šฐ์ €๋Š” ์ด์—๋”ฐ๋ผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • Content-length = ์‘๋‹ตํ•˜๋Š” content์— ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค(๋‹จ์œ„ byte)
  • Contnet-encoding = ์กด์žฌํ•œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•œ ๋ฐฉ์‹์„ ์•Œ๋ ค์ฃผ๊ณ , ์›น๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ ๋ณด๊ณ  ์••์ถ•์„ ํ’€๊ฒŒ๋œ๋‹ค.

Body

Request์™€ Response ๋ชจ๋‘ header์™€ ํ•œ์ค„ ๊ณต๋ฐฑ์„ ๋„์šดํ›„์— Body๋ฅผ ๋ณด๋‚ด์ค€๋‹ค. Body๋Š” Response๋ผ๋ฉด HTML์ด ๋  ์ˆ˜ ์žˆ๊ณ , Request๋ผ๋ฉด POST๋ฅผ ํ• ๋•Œ ์„œ๋ฒ„์ชฝ์— ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ

์ƒํ™œ์ฝ”๋”ฉ WEB2 - HTTP : https://opentutorials.org/course/3385

๋ฐ˜์‘ํ˜•