# HTTP ๋ฉ”์†Œ๋“œ ํ™œ์šฉ
Study Repository

HTTP ๋ฉ”์†Œ๋“œ ํ™œ์šฉ

by rlaehddnd0422

ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐฉ์‹์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก 

GET์„ ์‚ฌ์šฉํ•œ ์กฐํšŒ

2. ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก

POST, PUT, PATCH๋ฅผ ์ด์šฉํ•œ ๋ณ€๊ฒฝ

 

์ƒํ™ฉ์œผ๋กœ ๋ณด๋ฉด ํฌ๊ฒŒ 4๊ฐ€์ง€๊ฐ€ ์žˆ์ฃ .

1. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์—๋Š” ๋‘ ๊ฐ€์ง€ ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1-1. ์ •์  ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ : ์ด๋ฏธ์ง€, ์ •์  ํ…์ŠคํŠธ ๋ฌธ์„œ

1-2. ๋™์  ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ : ์ฃผ๋กœ ๊ฒ€์ƒ‰, ๊ฒŒ์‹œํŒ ๋ชฉ๋ก์—์„œ ์ •๋ ฌ ํ•„ํ„ฐ 

 

2. ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ „์†กํ•˜๋Š” ์ƒํ™ฉ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

2-1. HTML Form์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก : ํšŒ์›๊ฐ€์ž…, ์ƒํ’ˆ์ฃผ๋ฌธ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ

2-2. HTML API๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก : ํšŒ์›๊ฐ€์ž…, ์ƒํ’ˆ์ฃผ๋ฌธ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ( ์„œ๋ฒ„ to ์„œ๋ฒ„, ์•ฑ ํด๋ผ์ด์–ธํŠธ, ์›น ํด๋ผ์ด์–ธํŠธ ํ†ต์‹  )

 


1-1. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ •์  ๋ฐ์ดํ„ฐ ์กฐํšŒ ( GET )

์ •์  ๋ฐ์ดํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1-2. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ ๋™์  ๋ฐ์ดํ„ฐ ์กฐํšŒ ( GET ) 

์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ ฌ ํ•„ํ„ฐํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•ด ์ค๋‹ˆ๋‹ค.

์ฃผ๋กœ ๊ฒ€์ƒ‰, ๊ฒŒ์‹œํŒ ๋ชฉ๋ก์—์„œ ์ •๋ ฌํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

GET์ธ ๊ฒฝ์šฐ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ URL์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

 

URL ๋‚ด๋ถ€์— ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ๋„ฃ์–ด์•ผ ํ•จ.


HTML Form, HTTP API

2-1. HTML Form์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก ( GET/์กฐํšŒ , POST )

- HTML Form โ–ถ๏ธŽ HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹

HTML Form

 

- GET์ผ ๊ฒฝ์šฐ URL์— ์ฟผ๋ฆฌ ๋“ค์–ด๊ฐ.

- POST์˜ ๊ฒฝ์šฐ body์— ์ฟผ๋ฆฌ ๋“ค์–ด๊ฐ.

Content-Type : application/x-www-form-urlencoded ์‚ฌ์šฉ

> form์˜ ๋‚ด์šฉ์„ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ 

 

Content-Type : multipart/form-data ๋Š” ์ฃผ๋กœ ํŒŒ์ผ ์—…๋กœ๋“œ ๊ฐ™์€ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ์ „์†ก์‹œ์— ์‚ฌ์šฉ

 

๐Ÿšฉ HTML Form์€ GET, POST๋งŒ ์ง€์›.

 

2-2. HTML API๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก 

์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ์ด๋‚˜ ์•ฑ/์›น ํด๋ผ์ด์–ธํŠธ ํ†ต์‹ ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ POST,PUT,PATCH์—์„œ๋Š” ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  

GET์€ ์ฟผ๋ฆฌํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

 

Content-Type ์€ aplication/json์„ ์ฃผ๋กœ ์‚ฌ์šฉ

 

HTTP API ์„ค๊ณ„ ์˜ˆ์‹œ

 

1. Collection

  • POST ๊ธฐ๋ฐ˜ ๋“ฑ๋ก
  • ์„œ๋ฒ„๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฆฌ์†Œ์Šค ์ €์žฅ์†Œ
  • ์„œ๋ฒ„๊ฐ€ ๋ฆฌ์†Œ์Šค URI๋ฅผ ๊ฒฐ์ •
  • ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฆฌ์†Œ์Šค URI๋ฅผ ์•Œ์ง€ ๋ชปํ•จ.

 

ex) ํšŒ์› ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

2. Store

  • PUT ๊ธฐ๋ฐ˜ ๋“ฑ๋ก
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฆฌ์†Œ์Šค ์ €์žฅ์†Œ
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ์†Œ์Šค URI๋ฅผ ๊ฒฐ์ •
  • ์„œ๋ฒ„๋Š” ๋ฆฌ์†Œ์Šค URI๋ฅผ ์•Œ์ง€ ๋ชปํ•จ

ex) ํŒŒ์ผ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

 

3. HTML FORM ์‚ฌ์šฉ

์ˆœ์ˆ˜ HTML + HTML Form ์„ ์‚ฌ์šฉํ•œ ์„ค๊ณ„๋กœ GET, POST๋งŒ ์ง€์›.

 

GET, POST๋งŒ์œผ๋กœ๋Š” ์‚ญ์ œ๋‚˜ ์ˆ˜์ •์— ์ œ์•ฝ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปจํŠธ๋กค URI๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ปจํŠธ๋กค URI : ๋™์‚ฌ๋กœ ๋œ ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ์™€ GET, POST ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋™์ž‘์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด ์ˆ˜์ •์˜ ๊ฒฝ์šฐ ์ˆ˜์ • ํผ /members/{id}/edit์˜ ๋ฐ์ดํ„ฐ๋ฅผ GETํ•ด์„œ ์ˆ˜์ • ํผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ POSTํ•˜๋ฉด /members/{id}/edit ์€ ํ•ด๋‹น ID์˜ ์ˆ˜์ •๋ณธ์ด POST๋˜๋ฏ€๋กœ ์ˆ˜์ •์˜ ํšจ๊ณผ๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

'๐Ÿ“— CS > HTTP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

HTTP ํ‘œํ˜„ ํ—ค๋”  (0) 2023.02.17
HTTP ์ƒํƒœ์ฝ”๋“œ / 1~5XX  (0) 2023.02.16
HTTP ๋ฉ”์†Œ๋“œ - GET, POST, PUT, PATCH, DELETE in Start line  (0) 2023.02.15
HTTP ( HyperText Transfer Protocol)  (0) 2023.02.15
URI(Uniform Resource Identifier) - URL, URN  (0) 2023.02.14

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Study Repository

rlaehddnd0422

ํ™œ๋™ํ•˜๊ธฐ