[๋„คํŠธ์›Œํฌ] HTTP ๊ฐœ๋…/ ํŠน์„ฑ / ๋ฉ”์†Œ๋“œ / ์ƒํƒœ์ฝ”๋“œ
Computer Science

[๋„คํŠธ์›Œํฌ] HTTP ๊ฐœ๋…/ ํŠน์„ฑ / ๋ฉ”์†Œ๋“œ / ์ƒํƒœ์ฝ”๋“œ

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ซ HTTP๋ž€? 

๐Ÿ‘‰ HTTP(Hyper Text Transfer Protocol)๋Š” ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ†ต์‹ ๊ทœ์•ฝ(ํ”„๋กœํ† ์ฝœ!) HTTP๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์ด๋ฃจ์–ด์ง€๋Š” ์š”์ฒญ/์‘๋‹ต(request/response) ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

 

๐Ÿ’ซ HTTP ํŠน์„ฑ

๐Ÿ‘‰ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ํŠน์„ฑ์€ 2๊ฐ€์ง€ ๋น„์—ฐ๊ฒฐ์„ฑ, ๋ฌด์ƒํƒœ

 

๐Ÿ’ฌ ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless) : ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋œ ํ›„, ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋Œ€ํ•ด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋งˆ์น˜๋ฉด ์—ฐ๊ฒฐ์„ ๋Š๋Š” ํŠน์„ฑ

๐Ÿ’ฌ ๋ฌด์ƒํƒœ(Stateless) : HTTP์˜ ๋น„์—ฐ๊ฒฐ์„ฑ์œผ๋กœ ์ธํ•ด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์—†๋Š” ํŠน์„ฑ. ๊ฐ๊ฐ์˜ ์š”์ฒญ์„ ๋…๋ฆฝ์ ์ธ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ทจ๊ธ‰

 

 

์žฅ์ 

๋‹จ์ 

๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless)

HTTP๋Š” ์ธํ„ฐ๋„ท ์ƒ์—์„œ ๋ถˆํŠน์ • ๋‹ค์ˆ˜์˜ ํ†ต์‹  ํ™˜๊ฒฝ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋จ. ๋”ฐ๋ผ์„œ ์„œ๋ฒ„์—์„œ ๋‹ค์ˆ˜์˜ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ๊ณ„์† ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋ฉด, ์ด์— ๋”ฐ๋ฅธ ๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฐœ์ƒํ•จ. ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ค„์ด๋ฉด ๋” ๋งŽ์€ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ

์—ฐ๊ฒฐ์„ ๋Š๊ธฐ ๋•Œ๋ฌธ์—, ํด๋ผ์ด์–ธํŠธ์˜ ์ด์ „ ์ƒํƒœ๋ฅผ ์•Œ ์ˆ˜ ์—†์Œ. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ ๋ฐ ํ•ด์ œ์— ๋Œ€ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒ

๋ฌด์ƒํƒœ(Stateless)

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

HTTP ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋งˆ๋‹ค ํ•ด๋‹น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋งค๋ฒˆ ๋ณด๋‚ด์•ผ ํ•จ e.g.)๋กœ๊ทธ์ธ ์ •๋ณด

 

๐Ÿ’ซ HTTP ๋ฉ”์†Œ๋“œ(Method)

๐Ÿ‘‰ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•  ๋•Œ, ์–ด๋–ค ๋ชฉ์ ์„ ๊ฐ€์ง„ ํ–‰์œ„์ธ์ง€ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

๐Ÿ’ฌ HTTP Method 

  • GET(์กฐํšŒ)

    • ์„œ๋ฒ„์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ฌ๋ผ๋Š” ์š”์ฒญ 

  • HEAD

    • ์ •ํ™•ํžˆ GET๊ณผ ๊ฐ™์ง€๋งŒ, ์„œ๋ฒ„๋Š” ์‘๋‹ต์œผ๋กœ ์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ ๋ฐ˜ํ™˜์—†์ด ํ—ค๋”๋งŒ ๋ฐ˜ํ™˜

    • ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ํ•„์š” ์—†์ด ํ—ค๋”๋งŒ์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์–ป์–ด ์˜จ๋‹ค.

  • PUT(์ˆ˜์ •)

    • ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์˜ ๋ณธ๋ฌธ์„ ๊ฐ–๊ณ  ์š”์ฒญ URI์˜ ์ด๋ฆ„๋Œ€๋กœ ์ƒˆ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜, ์ด๋ฏธ URI๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์š”์ฒญ ๋ณธ๋ฌธ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

  • POST(์‚ฝ์ž…)

    • ์„œ๋ฒ„์— ์ž…๋ ฅ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉฐ ์š”์ฒญ ์—”ํ‹ฐํ‹ฐ ๋ณธ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด ์„œ๋ฒ„์— ์ „์†ก

  • DELETE(์‚ญ์ œ)

    • ์„œ๋ฒ„์—์„œ ์š”์ฒญ URI ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•˜๋„๋ก ์š”์ฒญ

    • ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ญ์ƒ ์‚ญ์ œ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์„œ๋ฒ„์—์„œ๋Š” ์ด ์š”์ฒญ์„ ๋ฌด์‹œํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

  • OPTIONS

    • ์„œ๋ฒ„์—๊ฒŒ ํŠน์ • ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ด๋–ค ๋ฉ”์†Œ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š”์ง€ ๋ฌผ์–ด๋ณด๋Š” ๊ฒƒ

 

๐Ÿ’ซ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ

๐Ÿ‘‰ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋ฉด ์„œ๋ฒ„๋Š” ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ ์ด๋ฅผ ์ƒํƒœ์ฝ”๋“œ๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์ด ์›นํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๋‚ด์šฉ์˜ 404 ์—๋Ÿฌ์ฝ”๋“œ๊ฐ€ ์ƒํƒœ์ฝ”๋“œ์ด๋‹ค.

 

 

๐Ÿ’ฌ ์ƒํƒœ์ฝ”๋“œ

๋ชจ๋“  HTTP ์‘๋‹ต ์ฝ”๋“œ๋Š” 5๊ฐœ์˜ ํด๋ž˜์Šค๋กœ ๊ตฌ๋ถ„. ์ƒํƒœ ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์‘๋‹ต ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ฒซ์ž๋ฆฌ์— ๋Œ€ํ•œ 5๊ฐ€์ง€ ๊ฐ’๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๐Ÿ‘‡ HTTP ์‘๋‹ต ์ฝ”๋“œ๋Š” ์•ฝ์†์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋‘๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ๋กœ ์‘๋‹ตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

 

  • 1xx (์ •๋ณด): ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•œ๋‹ค

  • 2xx (์„ฑ๊ณต): ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ›์•˜์œผ๋ฉฐ ์ธ์‹ํ–ˆ๊ณ  ์ˆ˜์šฉํ•˜์˜€๋‹ค

  • 3xx (๋ฆฌ๋‹ค์ด๋ ‰์…˜): ์š”์ฒญ ์™„๋ฃŒ๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—… ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค

  • 4xx (ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜): ์š”์ฒญ์˜ ๋ฌธ๋ฒ•์ด ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค

  • 5xx (์„œ๋ฒ„ ์˜ค๋ฅ˜): ์„œ๋ฒ„๊ฐ€ ๋ช…๋ฐฑํžˆ ์œ ํšจํ•œ ์š”์ฒญ์— ๋Œ€ํ•ด ์ถฉ์กฑ์„ ์‹คํŒจํ–ˆ๋‹ค

 

 

HTTP ์ƒํƒœ ์ฝ”๋“œ ์ข…๋ฅ˜ ์ž์„ธํžˆ ๋ณด๊ธฐ

 

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

๋ฒˆ์—ญ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Please help translate this article from English HTTP ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋Š” ํŠน์ • HTTP ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์‘๋‹ต์€ 5๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง‘๋‹ˆ๋‹ค: ์ •๋ณด๋ฅผ ์ œ

developer.mozilla.org

 

 

 

๋ฐ˜์‘ํ˜•