Web Develop basic

์ด์ข…์ฐฌยท2023๋…„ 2์›” 7์ผ
0
post-custom-banner

๐Ÿ“– Web?

์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๊ณต๊ฐ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ex) web site, API, UserInterface(Chrome,Safari ๋“ฑ)

โœ… Web์˜ ๊ธฐ๋ณธ 3์š”์†Œ

  • URI, HTTP, HTML

URI (Uniform Resource Identifier)

//

HTTP(Hypertext Transfer Protocol)

์›น์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. www์˜ ๊ธฐ๋ฐ˜์ด๋ฉฐ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ํ†ต์‹ ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. GET,POST,PUT,DELETE... ๋“ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

HTML(Hypertext Markup Language)

์›น ํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ ๋งˆํฌ์—… ์–ธ์–ด์ž…๋‹ˆ๋‹ค. text,image,link ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ ์›นํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ์™€ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. HTML๋ฌธ์„œ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ•ด์„๋˜์–ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.


๐Ÿ“– REST API

REST(Representational State Transfer : ์ž์›์˜ ์ƒํƒœ ์ „๋‹ฌ) - ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜

REST๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. REST API๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ํ‘œ์ค€ HTTP ๋ฉ”์„œ๋“œ ๋ฐ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•˜๊ณ  ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

URL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ์—‘์„ธ์Šคํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ™•์žฅ,์œ ์ง€,๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์›น ์„œ๋น„์Šค๋ฅผ ๊ฐ„๋‹จํ•˜๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น์•ฑ, ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ์„ ํ†ตํ•ฉํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๋ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ์‰ฌ์›Œ ๊ฐœ๋ฐœ ํŒ€์— ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

RESTํ•œ API๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฆฌ ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  2. ์š”์ฒญ์— ๋Œ€ํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ์„œ๋ฒ„์— ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. -> ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ํ•ญ์ƒ ์ƒˆ๋กญ๊ฒŒ ๋‚˜๊ฐ€์•ผํ•œ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‘๋‹ต์„ Cache(์ž„์‹œ ์ €์žฅ) ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค. -> Cacheํ†ตํ•ด ์‘๋‹ต์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ๋‚ฎ์ถ˜๋‹ค.
  4. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์—, ๋ฐฉํ™”๋ฒฝ, ๊ฒŒ์ดํŠธ์›จ์ด, Proxy๋“ฑ ๋‹ค์–‘ํ•œ ๊ณ„์ธต ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ, ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค.
  5. ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ผ๊ด€์„ฑ์„ ์ง€ํ‚ค๊ณ , ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‹จ์ˆœํ™”์‹œ์ผœ ์ž‘์€ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ, ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ์„  ๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๐Ÿค” REST๋ฅผ ์ž˜ ์ ์šฉํ–ˆ๋Š”์ง€ ํ™•์ธ์€ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

์ธํ„ฐํŽ˜์ด์Šค์˜ ์ผ๊ด€์„ฑ์ด ์ž˜ ์ง€์ผœ์กŒ๋Š”์ง€ ๋”ฐ๋ผ, REST๋ฅผ ์ž˜ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์ž์›์˜ ์‹๋ณ„

์›น ๊ธฐ๋ฐ˜์˜ REST์—์„œ๋Š” ๋ฆฌ์†Œ์Šค ์ ‘๊ทผํ•  ๋•Œ URI๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

**ex) https://www.naver.com/user/999

์—ฌ๊ธฐ์„œ Resource : user, ์‹๋ณ„์ž : 999์™€ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•œ ๋ฆฌ์†Œ์Šค ์กฐ์ž‘

Web์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋– ํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ์ธ์ง€ ์ „๋‹ฌ ํ•˜๊ธฐ ์œ„ํ•ด HTTP Header๋ถ€๋ถ„์— content-type์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฆฌ์†Œ์Šค ์กฐ์ž‘์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ „์ฒด๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ์ด๋ฅผ ๋ฉ”์‹œ์ง€๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

HTTP๋ฉ”์‹œ์ง€๋Š” head, body๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋‚ด์šฉ์€ body์— ์žˆ์Šต๋‹ˆ๋‹ค.

ex) ์œ ์ €์˜ id๋ฅผ ํด๋ผ์ด์–ธํŠธ์™€ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ, ์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค ๋ณ€๊ฒฝ์œผ๋กœ ๊ธฐ์กด id๋ผ๋Š” ์ •๋ณด๋ฅผ userId, clientId ๋“ฑ์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ์— ๋‚˜์˜จ ๋‚ด์šฉ์„ ๋ฐฉ์ง€ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์‹œ์ง€ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ, client-server๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

3. ์ž๊ธฐ์„œ์ˆ ์  ๋ฉ”์‹œ์ง€

์š”์ฒญํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ ๋˜์–ด์ ธ์•ผ ํ•˜๋Š”์ง€ ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. HTTP๊ธฐ๋ฐ˜์˜ REST์—์„œ๋Š” HTTP Method์™€ Header ์ •๋ณด, URI์˜ ํฌํ•จ๋˜๋Š” ์ •๋ณด๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GET : {{BASEURL}}/user/100 -> ์œ ์ €์˜ ์ •๋ณด ์š”์ฒญ
POST : {{BASEURL}}/user/create -> ์œ ์ € ์ •๋ณด ์ƒ์„ฑ
PUT : {{BASEURL}}/user/100 -> ์œ ์ € ์ •๋ณด ์ˆ˜์ •
DELETE : {{BASEURL}}/user/100 -> ์œ ์ € ์ •๋ณด ์‚ญ์ œ


๐Ÿ“– URI ์„ค๊ณ„ ํŒจํ„ด

URI(Uniform Resource Identifier)

์›น์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. URI๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €, ๊ฒ€์ƒ‰์—”์ง„ ๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ์›น์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ๊ณ  ์•ก์„ธ์Šค ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. -> ์ธํ„ฐ๋„ท์—์„œ ํŠน์ • ์ž์›์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ฃผ์†Œ ๊ฐ’์ด๋ฉฐ ํ•ด๋‹น ๊ฐ’์€ ์œ ์ผํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ -> {{baseurl}}/resource/100
์‘๋‹ต -> recipe.pdf

๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž-> ํŠน์ • ์‚ฌ์ดํŠธ, ๋™์˜์ƒ ๋ชฉ๋ก ๋“ฑ ๋ชจ๋“  ์ •๋ณด์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด

URL(Uniform Resource Locator)

์ธํ„ฐ๋„ท ์ƒ์—์„œ์˜ ์ž์›, ํŠน์ • ํŒŒ์ผ์ด ์–ด๋””์— ์œ„์น˜ํ•˜๋Š”์ง€ ์‹๋ณ„ํ•˜๋Š” ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.
์š”์ฒญ : {{baseurl}}/recipe.pdf

URL์€ URI์˜ ํ•˜์œ„ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.

์„ค๊ณ„์›์น™

  • ์Šฌ๋ž˜์‹œ ๊ตฌ๋ถ„์ž( / )๋Š” ๊ณ„์ธต ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ex) {{baseurl}}/user/desktop/web
  • URI ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋กœ ( / )๋Š” ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ•˜์ดํ”ˆ( - )์€ URI ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ex) {{baseurl}}/user/desktop/web-client
  • ๋ฐ‘์ค„์€( _ ) ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • URI ๊ฒฝ๋กœ์—๋Š” ์†Œ๋ฌธ์ž๊ฐ€ ์ ํ•ฉํ•˜๋‹ค.
  • ํŒŒ์ผ ํ™•์žฅ์ž๋Š” URI์— ํ‘œ์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค. ex) {{baseurl}}/user/desktop/recipe.pdf ( x )
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์˜์กด์ ์ธ ํ™•์žฅ์ž, ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. -> ํŠน์ • ์–ธ์–ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์„ธ์…˜ ID๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค. -> ์ƒ๋Œ€๋ฐฉ์ด ํƒˆ์ทจํ•ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฉ”์„œ๋“œ ๋„ค์ž„์„ ์ด์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. -> ๋…ธ์ถœ์„ ํ•ด์„œ ์ข‹์„๊ฒƒ์ด ์—†๋‹ค.
  • URI์— CRUD ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋ฉด ์•ˆ๋œ๋‹ค -> ์œ„์™€ ๊ฐ™์€ ๋‚ด์šฉ์ด๋‹ค.
  • ๋ช…์‚ฌ์— ๋‹จ์ˆ˜ํ˜• ๋ณด๋‹ค๋Š” ๋ณต์ˆ˜ํ˜•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ํ‘œํ˜„์€ ๋ณต์ˆ˜๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ปจํŠธ๋กค๋Ÿฌ ์ด๋ฆ„์œผ๋กœ๋Š” ๋™์‚ฌ๋‚˜ ๋™์‚ฌ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ฒฝ๋กœ ๋ถ€๋ถ„ ์ค‘ ๋ณ€ํ•˜๋Š” ๊ฐ’์€ ์œ ์ผํ•œ ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•˜์—ฌ์•ผ ํ•œ๋‹ค. -> ex){{baseurl}}/user/100 -> {{baseurl}}/user/{user-id}

๐Ÿ”ฅ ์ง€์ผœ์•ผ ํ• ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ์€๋ฐ??

์ƒ๊ฐํ•ด ๋ดค๋”๋‹ˆ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋กœ์ง์— ๊ด€ํ•œ ๊ฒƒ๊ณผ ์ƒ์ˆ˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์ด ๋Œ€๋ถ€๋ถ„์ด๋ผ ํฌ๊ฒŒ ์–ด๋ ค์šด ๊ฒƒ์€ ์—†์–ด๋ณด์ธ๋‹ค.

๐Ÿ“– HTTP Protocol?

HTTP(Hyper Text Transfer Protocol) ๋กœ ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” HTML,XML,JSON,Image,Voice,Video,JS,PDF ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ์ปดํ“จํ„ฐ์—์„œ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ชจ๋‘ ์ „์†ก ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. HTTP๋Š” TCP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ REST์˜ ํŠน์ง•์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋Š” Web๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ ์ž…๋‹ˆ๋‹ค.

HTTP ํŠน์ง•

HTTP๋Š” ๋ฐ˜๋“œ์‹œ request๋ฅผ ์ฃผ๊ณ  response๋ฅผ ๋ฐ›๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ• ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‘๋‹ต์„ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์š”์ฒญ์„ ๋ฐ›๊ณ  ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ์ดํ›„์— ์‘๋‹ต ๋ฉ”์„ธ์ง€๋ฅผ ์†ก์‹ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‘๋‹ต ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด์„œ ํ†ต์‹ ์„ ๋งˆ์นฉ๋‹ˆ๋‹ค.

์š”์ฒญ๋Œ€๊ธฐ ๋ฐ ์‘๋‹ต ๋Œ€๊ธฐ์˜ ๊ณผ์ •์—์„œ ์ผ์ •๊ธฐ๊ฐ„ ๋™์•ˆ ๋‹ต์ด ์—†์œผ๋ฉด ๋Œ€๊ธฐ๋ฅผ ๋งˆ์นฉ๋‹ˆ๋‹ค.

HTTP ์š”์ฒญ ์ฃผ์š” ๋ฉ”์„œ๋“œ

์—ญํ• CRUD๋ฉฑ๋“ฑ์„ฑ์•ˆ์ •์„ฑPathVariableQueryParameterbody
GET๋ฆฌ์†Œ์Šค ์ฝ๊ธฐROOOOX
POST๋ฆฌ์†Œ์Šค ์ƒ์„ฑ,์ถ”๊ฐ€CXXODO
PUT๋ฆฌ์†Œ์Šค ์ƒ์„ฑ, ๊ฐฑ์‹ C,UOXODO
DELETE๋ฆฌ์†Œ์Šค ์‚ญ์ œDOXOOX

HTTP Status code

1xx -> ์ฒ˜๋ฆฌ๊ฐ€ ๊ณ„์† ๋˜๋Š” ์ƒํƒœ. ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ์„ ๊ณ„์† ํ•˜๊ฑฐ๋‚˜ ์žฌ์š”์ฒญ ์š”๊ตฌ
2xx -> ์„ฑ๊ณต
3xx -> ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ -> Response์˜ ์ƒˆ๋กœ์šด ์ฃผ์†Œ๋กœ ๋‹ค์‹œ ์š”์ฒญ ์š”๊ตฌ
4xx -> client error -> client์ธก์˜ ์ž˜๋ชป๋œ ์š”์ฒญ ๋ฐ ํ™˜๊ฒฝ
5xx -> ์„œ๋ฒ„ ์ฒ˜๋ฆฌ์ค‘ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํƒœ์ด๋ฉฐ ์„œ๋ฒ„ db๊ตฌ์กฐ์—๋Ÿฌ ๋“ฑ์˜ ์ด์œ ์ธ ๊ฒฝ์šฐ์— ๋ฐœ์ƒ

profile
์™œ? ๋ผ๋Š” ์งˆ๋ฌธ์ด ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€
post-custom-banner

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