HTTP

Icarus_wยท2022๋…„ 12์›” 25์ผ
0

CS๊ณต๋ถ€

๋ชฉ๋ก ๋ณด๊ธฐ
16/25

HyperText Transfer Protocol์˜ ์•ฝ์ž

์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋ฉด์„œ request, response ๊ตฌ์กฐ๋กœ ์›น ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ

TCP/IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™

ํŠน์ง•

  1. Connectionless

    ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ํ›„ ์š”์ฒญ์— ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆผ

    -> ์‹ค์ œ ๋™์‹œ ์ ‘์†์„ ์ตœ์†Œํ™”, ๋” ๋งŽ์€ ์œ ์ €์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

  2. Stateless

    ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ๊ธฐ ๋•Œ๋ฌธ์—, ํด๋ผ์ด์–ธํŠธ์˜ ์ด์ „ ์ƒํƒœ(๋กœ๊ทธ์ธ ์œ ๋ฌด)๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค.

    -> cookie, session, jwt๋“ฑ์ด ๋„์ž… ๋จ

HTTP๋Š” Textํ˜•์‹์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์œ ์ถœ์˜ ๋ฌธ์ œ์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

-> ์•”ํ˜ธํ™”๋ฅผ ์ถ”๊ฐ€ํ•œ ํ”„๋กœํ† ์ฝœ์ด HTTPS

๐Ÿฅ‡Request Method

GET ๋ฉ”์†Œ๋“œ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉ

ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํŠน์ •ํ•˜๊ธฐ ์œ„ํ•ด Query String์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ •๋ณด ์กฐํšŒ

๋ธŒ๋ผ์šฐ์ € ํžˆ์Šคํ† ๋ฆฌ์— ๋‚จ๊ณ  ์บ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

POST ๋ฉ”์†Œ๋“œ

์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ์ฒ˜๋ฆฌ(์ฃผ๋กœ ์ƒ์„ฑ)์„ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ

์ „๋‹ฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ body๋ถ€๋ถ„์— ํฌํ•จํ•˜์—ฌ ํ†ต์‹ 

์บ์‹œ ๋ถˆ๊ฐ€๋Šฅ

PUT

์ „์ฒด ๋ฆฌ์†Œ์Šค ์ˆ˜์ •(๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์ฒด), ์—†์œผ๋ฉด ์ƒ์„ฑ

PATCH

์ผ๋ถ€ ๋ฆฌ์†Œ์Šค ์ˆ˜์ •

Status code

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ HTTP์š”์ฒญ์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ ์‘๋‹ต ์ฝ”๋“œ

์ƒํƒœ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์š”์ฒญ์˜ ์„ฑ๊ณต/์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

100๋ฒˆ๋Œ€๋ถ€ํ„ฐ ์ด 500๋ฒˆ๋Œ€๊นŒ์ง€ ์ด 5๊ฐœ์˜ ํด๋ž˜์Šค๋กœ ๊ตฌ๋ถ„๋˜์–ด HTTP์š”์ฒญ์— ๋Œ€ํ•œ ์ƒํƒœ๋ฅผ ์•Œ๋ ค์คŒ

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

image

์›น ๋™์ž‘ ๊ณผ์ •

  1. ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— URL ์ž…๋ ฅ
  2. ๋ธŒ๋ผ์šฐ์ €๋Š” DNS๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ์ฐพ๋Š”๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ์—์„œ HTTP request ๋ฉ”์‹œ์ง€ => TCP/IP ํŒจํ‚ท ์ƒ์„ฑ => ์„œ๋ฒ„๋กœ ์ „์†ก
  4. ์„œ๋ฒ„์—์„œ HTTP response๋ฉ”์‹œ์ง€ => TCP/IP ํŒจํ‚ท ์ƒ์„ฑ => ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก
  5. ๋„์ฐฉํ•œ HTTP response ๋ฉ”์‹œ์ง€๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์ถœ๋ ฅ(๋žœ๋”๋ง)

image

profile
ํ•˜๋ฃจ์— ํ•˜๋‚˜

0๊ฐœ์˜ ๋Œ“๊ธ€