๐Ÿ’Œ HTTP ๋ฉ”์‹œ์ง€ (์‘๋‹ต, ์š”์ฒญ, ํ—ค๋”, ์ƒํƒœ ์ฝ”๋“œ)

lnnaeยท2020๋…„ 5์›” 12์ผ
0

HTTP ๋ฉ”์‹œ์ง€

HTTP ๋ฉ”์‹œ์ง€๋Š” HTTP ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด์— ์ฃผ๊ณ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋“ค์ด๋‹ค. ์ด ๋ฉ”์‹œ์ง€๋Š” ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ํ”„๋ก์‹œ ์‚ฌ์ด๋ฅผ ํ๋ฅธ๋‹ค.

๋ฉ”์‹œ์ง€ ํ๋ฆ„

  • ์ธ๋ฐ”์šด๋“œ : ๋ฉ”์‹œ์ง€๊ฐ€ ์„œ๋ฒ„๋กœ ํ–ฅํ•œ๋‹ค.
  • ์•„์›ƒ๋ฐ”์šด๋“œ : ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚œ ๋’ค ์‚ฌ์šฉ์ž์—๊ฒŒ ๋Œ์•„์˜จ๋‹ค.
  • ๋‹ค์šด์ŠคํŠธ๋ฆผ : ์š”์ฒญ, ์‘๋‹ต๊ณผ ๊ฐ™์€ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์šด์ŠคํŠธ๋ฆผ์œผ๋กœ ํ๋ฅธ๋‹ค.
  • ์—…์ŠคํŠธ๋ฆผ : ๋ฉ”์‹œ์ง€์˜ ๋ฐœ์†ก์ž๋Š” ์ˆ˜์‹ ์ž์˜ ์—…์ŠคํŠธ๋ฆผ์ด๋‹ค.

๋ฉ”์‹œ์ง€

HTTP๋Š” ์‹œ์ž‘์ค„, ํ—ค๋”, ๋ณธ๋ฌธ์œผ๋กœ ์ด๋ค„์ ธ์žˆ๋‹ค.

HTTP/1.0 200 OK		//์‹œ์ž‘์ค„
Content-Type : text/plain //ํ—ค๋”
Content-length: 19
HELLO WORLD // ๋ณธ๋ฌธ

๋ฉ”์‹œ์ง€ ๋ฌธ๋ฒ•

์š”์ฒญ

<๋ฉ”์„œ๋“œ> <์š”์ฒญ URL> <๋ฒ„์ „>
<ํ—ค๋”>
<๋ณธ๋ฌธ>

์‘๋‹ต

<๋ฒ„์ „> <์ƒํƒœ ์ฝ”๋“œ> <์‚ฌ์œ  ๊ตฌ์ ˆ>
<ํ—ค๋”>
<๋ณธ๋ฌธ>

์‘๋‹ต์— ๋“ค์–ด๊ฐ€๋Š” ์ƒํƒœ ์ฝ”๋“œ๋Š” ์š”์ฒญ์ด ๋ฌด์Šจ ์ผ์„ ์ˆ˜ํ–‰ํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์„ธ ์ž๋ฆฌ ์ˆ˜๋กœ ์ด๋ค„์ ธ์žˆ๊ณ , ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์˜ ์ˆซ์ž๋กœ ์„ฑ๊ณต, ์—๋Ÿฌ ๋“ฑ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”์„œ๋“œ

๋ชจ๋“  ์š”์ฒญ ๋ฉ”์‹œ์ง€๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜๊ณ , ์„œ๋ฒ„์—๊ฒŒ ๋ฌด์Šจ ์ผ์„ ํ•ด์•ผํ•˜๋Š”์ง€๋ฅผ ๋งํ•ด์ค€๋‹ค.

๋ฉ”์„œ๋“œ์„ค๋ช…
GET์„œ๋ฒ„์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•œ๋‹ค.
HEADGET๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ, ์‘๋‹ต์œผ๋กœ ํ—ค๋”๋งŒ์„ ๋Œ๋ ค์ค€๋‹ค.
PUT์„œ๋ฒ„์— ๋ฌธ์„œ๋ฅผ ์“ฐ๊ณ , ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฌธ์„œ๋ผ๋ฉด ๋ณธ๋ฌธ์œผ๋กœ ๊ต์ฒดํ•œ๋‹ค.
POST์„œ๋ฒ„์— ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.
TRACE์ž์‹ ์˜ ์š”์ฒญ์ด ์„œ๋ฒ„์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค. (๋„์ค‘์— ๋ฉ”์‹œ์ง€๊ฐ€ ๋ง๊ฐ€์กŒ๋Š”์ง€, ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.)
OPTIONS์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์ง€์›ํ•˜๋Š” ๋ฉ”์„œ๋“œ ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
DELETE์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œ ์š”์ฒญํ•œ๋‹ค.

์ƒํƒœ ์ฝ”๋“œ

  • 100-199 : ์ •๋ณด์„ฑ ์ƒํƒœ ์ฝ”๋“œ
  • 200-299 : ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ
    • 200 OK : ์š”์ฒญ ์ •์ƒ, ๋ณธ๋ฌธ์— ์š”์ฒญ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.
    • 201 CREATED : ์„œ๋ฒ„์— ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ผ๋Š” ์š”์ฒญ์„ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. ์‘๋‹ต์€ Location ํ—ค๋”, ๋ฆฌ์†Œ์Šค ์ฐธ์กฐ url์„ ํฌํ•จํ•ด์•ผํ•œ๋‹ค.
    • 202 ACCEPTED : ์š”์ฒญ์€ ๋ฐ›์•„๋“ค์—ฌ์กŒ์œผ๋‚˜ ๊ทธ์— ๋Œ€ํ•ด ์„œ๋ฒ„๊ฐ€ ์•„๋ฌด ๋™์ž‘๋„ ์ทจํ•˜์ง€ ์•Š์Œ.
  • 300-399 : ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ ์ฝ”๋“œ
    ํด๋ผ๊ฐ€ ๊ด€์‹ฌ์žˆ์–ดํ•˜๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ๋‹ค๋ฅธ ์œ„์น˜๋กœ ์˜ฎ๊ฒจ์กŒ์„ ๋•Œ ์–ด๋””์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.
    • 300 MULTIPLE CHOICES : ๋™์‹œ์— ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” url์„ ์š”์ฒญํ•œ ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • 301 MOVED PERMANENTLY : ์š”์ฒญํ•œ url์ด ์˜ฎ๊ฒจ์กŒ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฆฌ์†Œ์Šค๊ฐ€ ์˜ฎ๊ฒจ์ง„ url๋„ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • 304 NOT MODIFIED : ๋ฆฌ์†Œ์Šค๊ฐ€ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด์— ๋Œ€ํ•œ ์‘๋‹ต ๋ฉ”์‹œ์ง€๋Š” ๋ณธ๋ฌธ์„ ๊ฐ€์ง€๋ฉด ์•ˆ๋จ.
  • 400-499 : ์‹คํŒจ ์ƒํƒœ ์ฝ”๋“œ
    • 400 BAD REQUEST : ์ž˜๋ชป๋œ ์š”์ฒญ์„ ๋ณด๋ƒ„
    • 401 UNAUTHORIZED : ์ธ์ฆ ์š”๊ตฌ
    • 403 FORBIDDEN : ์š”์ฒญ์ด ์„œ๋ฒ„์— ์˜ํ•ด ๊ฑฐ๋ถ€๋˜์—ˆ์Œ
    • 404 NOT FOUND : ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
  • 500-599 : ์„œ๋ฒ„ ์—๋Ÿฌ ์ƒํƒœ ์ฝ”๋“œ

ํ—ค๋”

  • ์ผ๋ฐ˜ ํ—ค๋” : ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

    • Connection, Date, Upgrade, Via ๋“ฑ
  • ์ผ๋ฐ˜ ์บ์‹œ ํ—ค๋” : ๋งค๋ฒˆ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€์‹  ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์œผ๋กœ ์บ์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•œ๋‹ค.

    • Cached-Control, Pragma
  • ์š”์ฒญ ํ—ค๋” : ์š”์ฒญ์ด ์ตœ์ดˆ ๋ฐœ์ƒํ•œ ๊ณณ์—์„œ ๋ˆ„๊ฐ€, ๋ฌด์—‡์ด ์š”์ฒญ์„ ๋ณด๋ƒˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

    • Accept ๊ด€๋ จ ํ—ค๋”๋Š” ์„œ๋ฒ„์—๊ฒŒ ์ž์‹ ์ด ์–ด๋–ค ํƒ€์ž…์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์›ํ•˜๋Š”์ง€๋ฅผ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ๋Š” ์›ํ•˜๋Š” ๊ฒƒ์„ ์–ป์„ ์ˆ˜ ์žˆ๊ณ , ์„œ๋ฒ„๋Š” ํด๋ผ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์„ ์ „์†กํ•˜๋Š”๋ฐ ์‹œ๊ฐ„๊ณผ ๋Œ€์—ญํญ์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.
    • ์กฐ๊ฑด๋ถ€ ์š”์ฒญ ํ—ค๋”๋Š” ๋ช‡๋ช‡ ์ œ์•ฝ์„ ๋„ฃ์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค. (If-Match, If-None-Match ~)
    • ์š”์ฒญ ๋ณด์•ˆ ํ—ค๋”๋กœ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์ „์— ์ธ์ฆ์„ ํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ํŠธ๋žœ์žญ์…˜์„ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ํ•œ๋‹ค.
    • ํ”„๋ฝ์‹œ ์š”์ฒญ ํ—ค๋”๋„ ์š”์ฒญ ํ—ค๋”์— ํ•ด๋‹นํ•œ๋‹ค.
  • ์‘๋‹ต ํ—ค๋” : ๋ˆ„๊ฐ€ ์‘๋‹ต์„ ๋ณด๋‚ด๊ณ  ์žˆ๋Š”์ง€์™€ ๊ฐ™์€ ์‘๋‹ต์ž์˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

    • Age, Public, Server, Title ~
    • ์ธ์ฆ ๋ณด์•ˆ ํ—ค๋”๋Š” Proxy-Authenticate, Set-Cookie2, WWW-Authenticate ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค.

    ์ด ๊ธ€์€ HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.
    ์ €์ž‘๊ถŒ ๋ฐ ๊ธฐํƒ€ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”.
    ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

profile
์ด๋‚ด์ž„๋‹ˆ๋‹น :>

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