3. HTTP Message

3์žฅ ๋ชฉํ‘œ. HTTP Message๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊ณ  ์ดํ•ดํ•˜๋Š”์ง€ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค. HTTP: ์ธํ„ฐ๋„ท ๋ฐฐ๋‹ฌ์›. HTTP Message: ๋ฌด์–ธ๊ฐ€ ๋‹ด์•„ ๋ณด๋‚ด๋Š” ์†Œํฌ.

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

HTTP ๋ฉ”์„ธ์ง€๋ž€, HTTP ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ฐ„์— ์ฃผ๊ณ ๋ฐ›์€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก๋“ค์ด๋‹ค.

๋ฐ์ดํ„ฐ์˜ ๋ธ”๋ก๋“ค์€ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ๊ณผ ์˜๋ฏธ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ…์ŠคํŠธ ๋ฉ”ํƒ€ ์ •๋ณด๋กœ ์‹œ์ž‘ํ•˜๊ณ , ์„ ํƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ - ํ”„๋ก์‹œ - ์„œ๋ฒ„ ์‚ฌ์ด๋ฅผ ํ๋ฅธ๋‹ค.

๋ฉ”์„ธ์ง€ ๋ฐฉํ–ฅ ์šฉ์–ด: '์ธ๋ฐ”์šด๋“œ', '์•„์›ƒ๋ฐ”์šด๋“œ', '์—…์ŠคํŠธ๋ฆผ', '๋‹ค์šด์ŠคํŠธ๋ฆผ'

โ‘  ์ธ๋ฐ”์šด๋“œ: ์› ์„œ๋ฒ„๋กœ ํ–ฅํ•˜๋Š” ๊ฒƒ.

โ‘ก ์•„์›ƒ๋ฐ”์šด๋“œ: ๋ชจ๋“  ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚˜๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒƒ.

โ‘ข ๋‹ค์šด์ŠคํŠธ๋ฆผ: ์š”์ฒญ/์‘๋‹ต ๋ฉ”์„ธ์ง€์— ๊ด€๊ณ„์—†์ด ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์šด์ŠคํŠธ๋ฆผ์œผ๋กœ ํ๋ฅธ๋‹ค.

โ‘ฃ ์—…์ŠคํŠธ๋ฆผ: ๋ฐœ์†ก์ž๋Š” ์ˆ˜์‹ ์ž์˜ ์—…์ŠคํŠธ๋ฆผ์ด๋‹ค.

[์—…์ŠคํŠธ๋ฆผ, ๋‹ค์šด์ŠคํŠธ๋ฆผ์€ ๋ฐœ์†ก์ž,์ˆ˜์‹ ์ž์— ๋Œ€ํ•œ ์šฉ์–ด]

02) ๋ฉ”์„ธ์ง€ ๊ฐ ๋ถ€๋ถ„

<์š”์ฒญ๊ณผ ์‘๋‹ต ๋ฉ”์„ธ์ง€ ์˜ˆ>

HTTP ๋ฉ”์‹œ์ง€๋Š” ๋‹จ์ˆœํ•œ, ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐํ™”๋œ ๋ธ”๋Ÿญ์ด๋‹ค.

๊ฐ ๋ฉ”์„ธ์ง€๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ์˜ ์š”์ฒญ๋ฉ”์„ธ์ง€ ๋˜๋Š” ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ์˜ ์‘๋‹ต๋ฉ”์„ธ์ง€ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ํฌํ•จํ•œ๋‹ค. ๋ฉ”์„ธ์ง€๋Š” [์‹œ์ž‘์ค„ | ํ—ค๋” | ๋ณธ๋ฌธ] ์„ธ ๋ถ€๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

โ€‹ ์‹œ์ž‘์ค„: ์–ด๋–ค ๋ฉ”์„ธ์ง€ ์ธ์ง€ ์„œ์ˆ 

โ€‹ ํ—ค๋”: ์†์„ฑ

โ€‹ ๋ณธ๋ฌธ: ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.

'์‹œ์ž‘์ค„'๊ณผ 'ํ—ค๋”'๋Š” ์ค„๋‹จ์œ„๋กœ ๋ถ„๋ฆฌ๋œ ์•„์Šคํ‚ค ๋ฌธ์ž์—ด์ด๋ฉฐ, ๊ฐ ์ค„์€ ์บ๋ฆฌ์ง€ ๋ฆฌํ„ด(Carriage return, CR), ๊ฐœํ–‰๋ฌธ์ž(Line Feed, LF)๋กœ ๊ตฌ์„ฑ๋œ ๋‘๊ธ€์ž์˜ ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž์—ด(= 'CRLF')๋กœ ๋๋‚œ๋‹ค.

'๋ณธ๋ฌธ'์€ ๋‹จ์ˆœํžˆ ์„ ํƒ์ ์ธ ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ์ด๋‹ค. '์‹œ์ž‘์ค„'์ด๋‚˜ 'ํ—ค๋”'์™€ ๋‹ฌ๋ฆฌ ํ…์ŠคํŠธ๋‚˜ ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋น„์–ด์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค.

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

๋ชจ๋“  HTTP ๋ฉ”์‹œ์ง€๋Š” ์š”์ฒญ ๋ฉ”์‹œ์ง€| ์‘๋‹ต ๋ฉ”์‹œ์ง€๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ์กฐ๊ฐ€ ๊ฐ™๊ณ , ์‘๋‹ต๋ฉ”์‹œ์ง€๋Š” ์š”์ฒญ๋ฉ”์‹œ์ง€์™€ ์‹œ์ž‘์ค„์—์„œ๋งŒ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉ.

์š”์ฒญ๋ฉ”์‹œ์ง€, ์‘๋‹ต๋ฉ”์‹œ์ง€ ์˜ˆ

  • ๋ฉ”์„œ๋“œ: ํด๋ผ์ด์–ธํŠธ์ธก์—์„œ ์„œ๋ฒ„๊ฐ€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•ด์ฃผ๊ธธ ๋ฐ”๋ผ๋Š” ๋™์ž‘. 'GET', 'POST', 'HEAD', ...

  • ์š”์ฒญ url: ์™„์ „ํ•œ ํ˜น์€ url์˜ ๊ฒฝ๋กœ ๊ตฌ์„ฑ ์š”์†Œ(2์žฅ์—์„œ ๋ฐฐ์šด url ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ์š”์ฒญ)

  • ๋ฒ„์ „: ๋ฉ”์‹œ์ง€์—์„œ ์‚ฌ์šฉ์ค‘์ธ HTTP ๋ฒ„์ „ HTTP/<๋ฉ”์ด์ €๋ฒ„์ „>.<๋งˆ์ด๋„ˆ๋ฒ„์ „>

  • ์ƒํƒœ์ฝ”๋“œ: ์š”์ฒญ ์ค‘ ๋ฌด์Šจ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์„ค๋ช…ํ•˜๋Š” ์„ธ์ž๋ฆฌ ์ˆซ์ž๋กœ, ์ฒซ๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜๊ฐ€ ์ผ๋ฐ˜์ ์ธ ๋ถ„๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์‚ฌ์œ ๊ตฌ์ ˆ: ์ƒํƒœ์ฝ”๋“œ๋ฅผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ์œ„ํ•ด ์„ค๋ช…ํ•œ ์งง์€ ๋ฌธ๊ตฌ. ์˜ค๋กœ์ง€ ์‚ฌ๋žŒ์— ์ฝํžˆ๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์กด์žฌ.

  • ํ—ค๋”๋“ค: ์ด๋ฆ„, ์ฝœ๋ก (:), ์„ ํƒ์ ์ธ ๊ณต๋ฐฑ, ๊ฐ’, CRLF๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚˜๋Š” 0๊ฐœ ์ด์ƒ์˜ ํ—ค๋”๋“ค.

  • ์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ: ์ž„์˜์˜ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ํฌํ•จ. ํ—ค๋”๋‚˜ ์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ์ด ์—†๋”๋ผ๋„, ํ—ค๋”์˜ ์ง‘ํ•ฉ์€ ํ•ญ์ƒ ๋นˆ์ค„๋กœ ๋๋‚˜์•ผํ•œ๋‹ค. (CRLF) . ํ•˜์ง€๋งŒ ์‹ค์ˆ˜๋กœ ๋นผ๋จน์€ ๊ฒฝ์šฐ ํ˜ธํ™˜์„ ์œ„ํ•ด CRLF๋กœ ๋๋‚˜์ง€ ์•Š๋Š” ๋ฉ”์‹œ์ง€๋„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ์–ด์•ผํ•จ

โ‘ก ์‹œ์ž‘์ค„

๋ชจ๋“  HTTP๋ฉ”์‹œ์ง€๋Š” ์‹œ์ž‘์ค„๋กœ ์‹œ์ž‘ํ•œ๋‹ค. ์š”์ฒญ๋ฉ”์‹œ์ง€๋Š” ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€, ์‘๋‹ต๋ฉ”์‹œ์ง€๋Š” ๋ฌด์Šจ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค.

  • ์š”์ฒญ์ค„(์š”์ฒญ ๋ฉ”์‹œ์ง€ ์‹œ์ž‘์ค„):

    • ์š”์ฒญ๋ฉ”์‹œ์ง€๋Š” ์„œ๋ฒ„์—๊ฒŒ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๋ฌด์–ธ๊ฐ€ ํ•ด๋‹ฌ๋ผ๊ณ  ๋ถ€ํƒํ•œ๋‹ค.

    • ์˜ˆ์‹œ: GET /test/hi-there.txt HTTP/1.1

      • ์„œ๋ฒ„์—์„œ ์–ด๋–ค ๋™์ž‘์ด ์ผ์–ด๋‚˜์•ผํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ๋Š” ๋ฉ”์„œ๋“œ (GET)

      • ๊ทธ ๋™์ž‘์— ๋Œ€ํ•œ ๋Œ€์ƒ์„ ์ง€์‹œํ•˜๋Š” ์š”์ฒญURL (/test/hi-there)

      • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค HTTP๋ฒ„์ „์œผ๋กœ ๋งํ•˜๋Š”์ง€ ์„œ๋ฒ„์— ์•Œ๋ ค์ฃผ๋Š” HTTP ๋ฒ„์ „(HTTP/1.1)

    • ๊ฐ ํ•„๋“œ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

  • ์‘๋‹ต์ค„(์‘๋‹ต ๋ฉ”์‹œ์ง€ ์‹œ์ž‘์ค„):

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

    • ์—์‹œ: HTTP/1.1 200 OK

      • HTTP ๋ฒ„์ „ (HTTP/1.1)

      • ์ˆซ์ž๋กœ๋œ ์ƒํƒœ ์ฝ”๋“œ(200)

      • ์ˆ˜ํ–‰์ƒํƒœ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ๋Š” ์‚ฌ์œ ๊ตฌ์ ˆ(ok)

    • ๊ฐ ํ•„๋“œ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„.

  • ๋ฉ”์„œ๋“œ

    • ์š”์ฒญ์˜ ์‹œ์ž‘์ค„์€ ๋ฉ”์„œ๋“œ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ์„œ๋ฒ„์— ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€ ์•Œ๋ ค์ค€๋‹ค.

    • HTTP๋ช…์„ธ๋Š” ๊ณตํ†ต ์š”์ฒญ ๋ฉ”์„œ๋“œ์˜ ์ง‘ํ•ฉ์„ ์ •์˜ํ•œ๋‹ค.

    • ๋ฉ”์„œ๋“œ์— ๋”ฐ๋ผ์„œ ์š”์ฒญ๋ฉ”์‹œ์ง€์— ๋ณธ๋ฌธ์ด ์žˆ์„์ˆ˜๋„, ์—†์„์ˆ˜๋„ ์žˆ๋‹ค.

    • ์ž์ฃผ์“ฐ์ด๋Š” ๋ฉ”์„œ๋“œ(7๊ฐ€์ง€): GET, HEAD, POST, PUT, TRACE, OPTION, DELETE

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

    • ํด๋ผ์ด์–ธํŠธ์— ๋ฌด์Šจ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค. ์‘๋‹ต์˜ ์‹œ์ž‘์ค„์— ์œ„์น˜ํ•œ๋‹ค.

    • ์„ธ์ž๋ฆฌ ์ˆซ์ž๋กœ ๋œ ์ฝ”๋“œ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌถ์ธ๋‹ค.

    • ์ •์˜๋œ ๋ฒ”์œ„ ์ด์™ธ์— ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ฝ”๋“œ(์˜ˆ 515)๋ฅผ ๋ฐ›์œผ๋ฉด ๋ฒ”์ฃผ์˜ ์ผ๋ฐ˜์ ์ธ ๊ตฌ์„ฑ์›์œผ๋กœ ๊ฐ€์ •ํ•˜๊ณ  ๋‹ค๋ฃจ์–ด์•ผํ•œ๋‹ค. (โ‡’ ์„œ๋ฒ„์—๋Ÿฌ๋กœ ๋ณด๊ณ  ๋‹ค๋ฃจ์–ด์•ผํ•œ๋‹ค.)

    • 3xx ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ƒํƒœ์ฝ”๋“œ: ํด๋ผ์ด์–ธํŠธ์— ๋ฆฌ์†Œ์Šค๊ฐ€ ์˜ฎ๊ฒจ์กŒ๊ณ  ์–ด๋””์— ์˜ฎ๊ฒจ์กŒ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค.

    • 4xx: ์„œ๋ฒ„๊ฐ€ ๋‹ค๋ฃฐ ์ˆ˜ ์—†๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณด๋‚ธ ๊ฒฝ์šฐ.

  • ์‚ฌ์œ ๊ตฌ์ ˆ: ์ƒํƒœ์ฝ”๋“œ์˜ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋ฒ„์ „.

  • ๋ฒ„์ „๋ฒˆํ˜ธ: HTTP/x.y ํ˜•์‹์œผ๋กœ ์š”์ฒญ, ์‘๋‹ต๋ฉ”์‹œ์ง€ ์–‘์ชฝ ๋ชจ๋‘ ๊ธฐ์ˆ .

    ์ž์‹ ์ด ๋”ฐ๋ฅด๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์„ ์ƒ๋Œ€์— ์•Œ๋ฆฌ๊ณ , ๋Œ€ํ™” ์ƒ๋Œ€์˜ ๋Šฅ๋ ฅ๊ณผ ๋ฉ”์‹œ์ง€ ํ˜•์‹์— ๋Œ€ํ•œ ๋‹จ์„œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

โ‘ข ํ—ค๋”

์‹œ์ž‘์ค„ ๋‹ค์Œ์— 0๊ฐœ, 1๊ฐœ ํ˜น์€ ์—ฌ๋Ÿฌ๊ฒŒ์˜ HTTP ํ—ค๋”๊ฐ€ ์˜จ๋‹ค.

์š”์ฒญ๊ณผ ์‘๋‹ต๋ฉ”์‹œ์ง€์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋”ํ•œ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฆ„|๊ฐ’ ์Œ์˜ ๋ชฉ๋ก์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. (์˜ˆ: Content-length:19 )

  • ํ—ค๋” ๋ถ„๋ฅ˜

    • ์ผ๋ฐ˜ํ—ค๋”: ์š”์ฒญ, ์‘๋‹ต ์–‘์ชฝ์— ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Œ

    • ์š”์ฒญํ—ค๋”: ์š”์ฒญ์— ๋Œ€ํ•œ ๋ถ€๊ฐ€์ •๋ณด ์ œ๊ณต

    • ์‘๋‹ตํ—ค๋”: ์‘๋‹ต์— ๋Œ€ํ•œ ๋ถ€๊ฐ€์ •๋ณด ์ œ๊ณต

    • Entityํ—ค๋”: ๋ณธ๋ฌธํฌ๊ธฐ, ์ฝ˜ํ…์ธ , ๋ฆฌ์†Œ์Šค ๊ทธ ์ž์ฒด ์„œ์ˆ 

    • ํ™•์žฅํ—ค๋”: ๋ช…์„ธ์— ์ •์˜๋˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ํ—ค๋”

  • HTTP ํ—ค๋” ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ•์˜ˆ:

    Date: Tue, 3 Oct 1997 02:16:03 GMT

    [ ์ด๋ฆ„:(๊ณต๋ฐฑ ์ƒ๋žต๊ฐ€๋Šฅ) ํ•„๋“œ๊ฐ’1, ํ•„๋“œ๊ฐ’2 , ... CRLF ]

  • ํ—ค๋”๊ฐ€ ๊ธธ์–ด์ง€๋ฉด ์—ฌ๋Ÿฌ์ค„๋กœ ์ชผ๊ฐค์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์ถ”๊ฐ€ ์ค„ ์•ž์— 1๊ฐœ ์ด์ƒ์˜ ์ŠคํŽ˜์ด์Šค ํ˜น์€ ํƒญ ๋ฌธ์ž๊ฐ€ ์™€์•ผํ•œ๋‹ค.

โ‘ฃ ์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ

์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ์€ HTTP ๋ฉ”์‹œ์ง€์˜ ํ™”๋ฌผ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฏธ์ง€, ๋น„๋””์˜ค, HTML๋ฌธ์„œ, ์†Œํ”„ํŠธ์›จ์–ด ์•ฑ, ์ „์ž์šฐํŽธ ๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์–ด ๋‚˜๋ฅผ์ˆ˜์žˆ๋‹ค.

3) ๋ฉ”์„œ๋“œ

โ‘  ์•ˆ์ „ํ•œ ๋ฉ”์„œ๋“œ(Safe Method)

HTTP๋Š” ์•ˆ์ „ํ•œ ๋ฉ”์„œ๋“œ๋ผ ๋ถˆ๋ฆฌ๋Š” ๋ฉ”์„œ๋“œ ์ง‘ํ•ฉ์„ ์ •์˜ํ•œ๋‹ค.

GET, HEAD๋Š” ์•ˆ์ „ํ•˜๋‹ค ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์š”์ฒญ์˜ ๊ฒฐ๊ณผ๋กœ ์„œ๋ฒ„์— ์–ด๋– ํ•œ ์ž‘์šฉ๋„ ์—†๋‹ค๋Š” ์˜๋ฏธ.

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

โ‘ก GET

  • ๋ฆฌ์†Œ์Šค ์กฐํšŒ. ์ฃผ๋กœ ์„œ๋ฒ„์— ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ์ž„.

  • ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ ์‹ถ์€ ๋ฐ์ดํ„ฐ๋Š” ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•จ. (๋ฐ”๋””๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก๊ฐ€๋Šฅํ•˜๋‚˜ ์ง€์› ์•ˆํ•  ์ˆ˜ ์žˆ์Œ)

โ‘ขHEAD

  • GET์ฒ˜๋Ÿผ ํ–‰๋™ํ•˜์ง€๋งŒ, ์„œ๋ฒ„๋Š” ์‘๋‹ต์œผ๋กœ ํ—ค๋”๋งŒ ๋Œ๋ ค์ค€๋‹ค. (์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ์€ ๊ฒฐ์ฝ” ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค.)

  • ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ ๋„ ๊ทธ์— ๋Œ€ํ•ด ๋ฌด์—‡์ธ๊ฐ€(ํƒ€์ž…๋“ฑ)๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

  • ์ƒํƒœ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๊ฐœ์ฒด์˜ ์กด์žฌ ์œ ๋ฌด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฆฌ์†Œ์Šค ๋ณ€๊ฒฝ ์œ ๋ฌด๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋Š” ๋ฐ˜๋“œ์‹œ ๋ฐ˜ํ™˜๋˜๋Š” ํ—ค๋”๊ฐ€ GET์œผ๋กœ ์–ป๋Š” ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•จ์„ ๋ณด์žฅํ•ด์•ผํ•œ๋‹ค.

โ‘ฃPUT

  • ์„œ๋ฒ„์— ๋ฌธ์„œ๋ฅผ ์“ด๋‹ค.

  • ๋ฆฌ์†Œ์Šค ๋Œ€์ฒด ์—†์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑ

  • ํด๋”์— ํŒŒ์ผ์„ ๋„ฃ๋Š” ์›๋ฆฌ์™€ ๊ฐ™์ด, ๊ธฐ์กด์— ํŒŒ์ผ์ด ์žˆ์—ˆ์œผ๋ฉด ๋ฎ์–ด์”Œ์šฐ๊ณ  ์—†์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑ(์™„์ „๋Œ€์ฒด, ๋ฎ์–ด์”Œ์›€)

  • ํด๋ผ์ด์–ธํŠธ์ชฝ์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.(ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์•Œ๊ณ  URI ์ง€์ •)

โ‘คPOST

  • HTML form์—์„œ ํ”ํžˆ ์‚ฌ์šฉ๋œ๋‹ค.

  • ์„œ๋ฒ„๊ฐ€ ์•„์ง ์‹๋ณ„ํ•˜์ง€ ์•Š์€ ์ƒˆ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ (์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ๋ฐ ๋“ฑ๋ก)

  • ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋“ฑ๋กํ•œ๋‹ค.

  • ๋ฐ”๋””์— ์š”์ฒญํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

  • ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ, ๋ณ€๊ฒฝ์„ ๋„˜์–ด์„œ ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ

  • ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ ์ˆ˜ํ–‰๊ฐ€๋Šฅ.

    ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

    ๋‹จ, GET์ด cache ์„ฑ๋Šฅ์€ ๋” ๋†’๋‹ค.

โ‘ฅTRACE

  • ๋ชฉ์ ์ง€ ์„œ๋ฒ„์—์„œ '๋ฃจํ”„๋ฐฑ'์ง„๋‹จ์„ ์‹œ์ž‘. ํด๋ผ์ด์–ธํŠธ~์„œ๋ฒ„ ์‚ฌ์ด์˜ ๋ชจ๋“  ์š”์ฒญ/์‘๋‹ต ์—ฐ์‡„๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ง๊ฐ€์กŒ๋Š”์ง€, ์ˆ˜์ •๋ฌ๋Š”์ง€, ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฃผ๋กœ ์ง„๋‹จ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

โ‘ฆ OPTIONS

์›น ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ง€์› ๋ฒ”์œ„์— ๋Œ€ํ•ด ๋ฌผ์–ด๋ณธ๋‹ค. ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์–ด๋–ค ๋ฉ”์„œ๋“œ๊ฐ€ ์ง€์›๋˜๋Š”์ง€ ๋ฌผ์–ด๋ณผ์ˆ˜์žˆ๋‹ค.

โ‘ง DELETE

์„œ๋ฒ„์— ์š”์ฒญ URL๋กœ ์ง€์ •ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•  ๊ฒƒ์„ ์š”์ฒญํ•จ. ํด๋ผ์ด์–ธํŠธ๋Š” ์‚ญ์ œ๊ฐ€ ์ˆ˜ํ–‰๋˜๋Š”๊ฒƒ์„ ๋ณด์žฅ๋ฐ›์ง€๋Š” ์•Š์Œ. HTTP ๋ช…์„ธ์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ์•Œ๋ฆฌ์ง€ ์•Š๊ณ  ์š”์ฒญ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•œ๋‹ค.

โ‘จPATCH

๋ฆฌ์†Œ์Šค ๋ถ€๋ถ„ ๋ณ€๊ฒฝ

์„œ๋ฒ„์—์„œ ์š”์ฒญ์„ ์ž˜ ์•ˆ๋ฐ›์•„์ค„ ์ˆ˜ ์žˆ๋‹ค ๊ทธ๋Ÿด ๋•Œ โ‡’ PUT์œผ๋กœ ๋Œ€์ฒด.

Last updated